我正在尝试为我的ECS作业定义添加一个秘密值,
secret_id = f"mysecretid"
secret = secretsmanager.Secret.from_secret_name_v2(
self,
secret_id,
secret_name=secret_id,
)
# Mongo DB URI
mongodb_uri = ecs.Secret.from_secrets_manager(secret, "MONGODB_URI")
job_definition = batch.EcsJobDefinition(self, f"{stage}{NAME}JobDefinition",
container=batch.EcsEc2ContainerDefinition(self, "Container",
image=image,
memory=Size.mebibytes(4096),
cpu=2,
secrets={"MONGO_DB_URI": mongodb_uri},
command=["npm run crawl"],
)
)
我遇到了错误,
RuntimeError: Passed to parameter props of new aws-cdk-lib.aws_batch.EcsEc2ContainerDefinition: Unable to deserialize value as aws-cdk-lib.aws_batch.EcsEc2ContainerDefinitionProps
âââ ð Failing value is an object
â { '$jsii.struct': [Object] }
â°ââ ð Failure reason(s):
â°â Key 'secrets': Unable to deserialize value as map<aws-cdk-lib.aws_batch.Secret> | undefined
âââ ð Failing value is an object
â { '$jsii.map': [Object] }
â°ââ ð Failure reason(s):
â°â Key 'MONGO_DB_URI': Unable to deserialize value as aws-cdk-lib.aws_batch.Secret
âââ ð Failing value is an object
â { '$jsii.byref': 'aws-cdk-lib.aws_ecs.Secret@10003' }
â°ââ ð Failure reason(s):
â°â Object of type 'aws-cdk-lib.aws_ecs.Secret' is not convertible to aws-cdk-lib.aws_batch.Secret