【问题标题】:AWS cdk Fargate task definition with python - how to use add_container(secrets=[Mapping[str, Secret]])?使用 python 定义 AWS cdk Fargate 任务 - 如何使用 add_container(secrets=[Mapping[str, Secret]])?
【发布时间】:2021-04-01 00:25:22
【问题描述】:
【问题讨论】:
标签:
aws-cdk
aws-fargate
aws-secrets-manager
ecs-taskdefinition
【解决方案1】:
刚刚遇到这个问题并弄清楚它在寻找什么。
它需要一种字典格式,其中环境变量的名称(也称为秘密名称)作为键(str),以 IParameter 作为值(秘密)。
# 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,
...
}
)
相关文档链接:
[字符串参数][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