【发布时间】:2024-08-15 15:25:02
【问题描述】:
我在 CDK 中使用 SSM valueForStringParameter 方法时遇到问题。它在我第一次部署堆栈时工作,但是当我重新部署堆栈时它没有更新参数值,因为 CloudFormation 模板没有更改,因此 CloudFormation 认为没有更新,即使 SSM 参数已更改。
对于上下文,我通过 CodePipeline 部署堆栈,我首先运行 cdk synth,然后使用 CloudFormationCreateUpdateStackAction 操作部署模板。
有人知道如何解决这个问题吗?我知道唯一可行的其他选项是切换到调用 SSM 并使用 aws-sdk 返回值的自定义资源 lambda,但这感觉像是一个过于复杂的选项。
更新 1
我不能使用 ValueFromLookup,因为值仅在运行时更新,作为另一个堆栈的 cloudformation 部署的一部分(我在 CodePipeline 中部署两个堆栈,在 2 个不同的区域),因此综合时间查找会导致值过时。
【问题讨论】:
-
我面临同样的问题。我想将 synth 的结果用作与 env 无关的包,但是如果没有查找功能,某些 Constructs 基本上是不可能使用的。例如,任何需要
IVpc的东西都需要新创建的 vpc 或VPC.fromLookup函数的结果。
标签: amazon-cloudformation aws-cdk ssm aws-parameter-store