我正在用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