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

0

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

profile picture
专家
已提问 5 个月前14 查看次数
1 回答
0

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

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

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

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则