gpt4 book ai didi

amazon-web-services - 从 AWS CDK 中 SSM 参数名称中的堆栈参数命名 SSM 参数

转载 作者:行者123 更新时间:2023-12-05 04:47:37 26 4
gpt4 key购买 nike

我有一个带有 CloudFormation 堆栈参数的 CDK 应用程序:

project_name_param = cdk.CfnParameter(
self,
"ProjectName",
default="MyCoolProject",
)

由于可以部署此堆栈的多个实例,我想创建一个 SSM Parameter使用基于此项目名称的名称,以使事情井井有条。

在普通 CloudFormation 中,这可以通过以下方式实现:

  MyCoolResourceArnParam:
Type: 'AWS::SSM::Parameter'
Properties:
Description: ARN of this project's MyCoolResource
Name: !Sub '/Projects/${ProjectName}/MyCoolResource'
Type: String
Value: !GetAtt MyCoolResourceArn

...但我正在努力弄清楚如何使用 CDK 中的 project_id_param 对象来实现相同的目的。例如已经尝试并失败了类似的各种组合:

input_bucket_ssm_param = ssm.StringParameter(
self,
"MyCoolResourceSSMParam",
string_value=my_cool_resource.arn,
description="...",
parameter_name=cdk.Fn.sub(
f"/Projects/{project_name_param.value_as_string}/MyCoolResource"
),
)

可能我遗漏了一些基本的东西,因为在 CDK 中使用 CFn 参数仍然很新 - 谁能告诉我它应该如何工作?

最佳答案

糟糕,发现问题了!

cdk.Fn 是不必要的(CDK 应该以字符串格式解析动态“ token ”),但如 the StringParameter doc 中所述当使用标记化的 parameter_name 时,simple_name 参数是必需的。

input_bucket_ssm_param = ssm.StringParameter(
self,
"MyCoolResourceSSMParam",
string_value=my_cool_resource.arn,
description="...",
parameter_name=f"/Projects/{project_name_param.value_as_string}/MyCoolResource",
simple_name=False, # < Need this too!
)

关于amazon-web-services - 从 AWS CDK 中 SSM 参数名称中的堆栈参数命名 SSM 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68391148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com