引用层更新后,AWS Lambda应用程序如何进行自动更新?

0

【以下的问题经过翻译处理】 我有一个template.yml配置文件,引用了一个层。同时也有多个lambda应用程序引用相同的层。每当我对此层进行更改时,我需要手动更新每个lambda应用程序。我尝试使用"$LATEST"替换版本号,但不起作用。有没有办法让lambda应用程序拉取最新版本的层?

profile picture
エキスパート
質問済み 6ヶ月前17ビュー
1回答
0

【以下的回答经过翻译处理】 这种行为在CloudFormation中是不可能的。原因是引用$LATEST无法保证堆栈的可复现状态。

假设您执行了一次成功的部署。然后,在部署之后,您的Lambda层的最新版本发生了更改。稍后,您尝试进行新的部署,但失败了。如果发生这种情况,CloudFormation将尝试回滚到先前已知的良好状态。为了回滚到那个已知状态,CloudFormation需要Lambda层的具体版本号。这就是为什么具体版本号需要在堆栈模板中的原因。

许多客户通过在堆栈模板中包含层本身(通过AWS::Lambda::LayerVersion)并对其进行引用来克服这个限制。否则,您可以在CloudFormation YAML模板中放置类似$LAYER_VERSION的占位符,并在使用外部程序(如envsubst)上传模板之前,将Lambda版本的值替换进去,然后使用渲染后的模板更新堆栈。

profile picture
エキスパート
回答済み 6ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン