0

我徒劳地尝试这样做。这是场景:

我们正在创建一个 CloudFormation 堆栈,它将生成一个 CodePipeline,它将使用 CloudFormationCreateUpdateStackAction 从 git 中提取另一个堆栈定义并部署

存储库和分支等作为CfnParamaters提供,随后的堆栈名称我们希望基于存储库名称和分支名称的串联。但是在某些情况下,repo 可能使用下划线或其他对stackName无效的特殊字符来命名。

我尝试使用宏来操作参数字符串,但我没有得到任何有用的东西,并且在repoStr.valueAsString属性上运行 .replace() 函数会修改 CDK 的“令牌”指针,而不是在运行时声明的结果参数.

有任何想法吗?

4

1 回答 1

0

我可以看到两个选项:

首先是在综合时读取实际参数值,然后您可以使用.replace参数值功能。https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameter.html#static-value-wbr-from-wbr-lookupscope-parametername

其次是使用 CloudFormation 内部函数来拆分参数并以允许的方式重新加入片段。https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-split.html https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference -join.html

于 2020-06-09T14:39:21.937 回答