AWS cdk Fargate任务定义与python -如何使用add_container(秘密=[映射[str,秘密]



我正在用python编写AWS Fargate任务定义https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_ecs/FargateTaskDefinition.html?highlight=fargatetaskdefinition

我想将数据库秘密添加到Fargate,但我对secrets (Optional[Mapping[str, Secret]])感到困惑,因为不清楚如何将秘密传递给此参数。我试着用字典,但得到jsii.errors.JSIIError: Expected object reference

有没有人用过这个,可以告诉我如何"映射"工作?

谢谢!

刚刚遇到这个问题,弄清楚它在寻找什么。它需要一个带有环境变量名称的字典格式。secret的名称)作为键(str), IParameter作为值(secret)。

# Create Task definition
task_def = _ecs.FargateTaskDefinition(
self, 
"task definition", 
cpu=256, 
memory_limit_mib=1024
)
# Create StringParameter
parameter = _ssm.StringParameter.from_secure_string_parameter_attributes(
self, 
id="blah", 
version=1, 
parameter_name="/Fully/Qualified/Name"
)

secret_object = _ecs.Secret.from_ssm_parameter(parameter)
container = task_def.add_container(
"container",                  
image=_ecs.ContainerImage.from_ecr_repository(repo, "latest-test"),                                       
secrets={
"var name": secret_object,
...
}                    
)    

相关文档链接:[StringParameter] [1](ECS秘密)[2]

[1]: https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_ssm/StringParameter.html[2]: https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_ecs/Secret.htm

最新更新