amazon-web-services - 在 aws-cdk 中操作 CfnParameter 字符串的最佳方法
问题描述
我徒劳地尝试这样做。这是场景:
我们正在创建一个 CloudFormation 堆栈,它将生成一个 CodePipeline,它将使用 CloudFormationCreateUpdateStackAction 从 git 中提取另一个堆栈定义并部署它
存储库和分支等作为CfnParamaters提供,随后的堆栈名称我们希望基于存储库名称和分支名称的串联。但是在某些情况下,repo 可能使用下划线或其他对stackName无效的特殊字符来命名。
我尝试使用宏来操作参数字符串,但我没有得到任何有用的东西,并且在repoStr.valueAsString属性上运行 .replace() 函数会修改 CDK 的“令牌”指针,而不是在运行时声明的结果参数.
有任何想法吗?
解决方案
我可以看到两个选项:
首先是在综合时读取实际参数值,然后您可以使用.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
推荐阅读
- angular - 我的 ngrx 效果不会触发动作
- javascript - 对多个不同的 ROUTES 使用相同的 URL - Angular 2+
- r - R:聚合多个变量和观察值(取决于值)并创建一个新变量
- powershell - 使用 PowerShell 获取 Windows 服务器中每个用户使用的内存
- python - 通过 Python API Wrapper 将 Substitutions 与 SendGrid API v3 一起使用时出现错误请求
- macos - Mac OS X 上的 Visual Studio 2017 缺少工具
- forms - Delphi 主窗体在禁用/启用后落后于其他应用程序
- javafx - JavaFX - MeshViews 在屏幕上不可见
- google-drive-api - 无法在 google drive Web Api 创建的 android 应用程序中列出 google drive 中的文件
- r - 带有重音符号的 Rmarkdown pdf kable