【发布时间】:2025-12-24 22:00:11
【问题描述】:
我正在使用 AWS 提供商对我的 serverless.yml 中的自定义资源进行更改。来自 lambda 代码的包没有改变,它已经从之前的部署上传到 S3。
我怎么说“使用 S3 中已有的工件,只需上传更改后的 cloudformation 模板并使用它更新堆栈”?
【问题讨论】:
我正在使用 AWS 提供商对我的 serverless.yml 中的自定义资源进行更改。来自 lambda 代码的包没有改变,它已经从之前的部署上传到 S3。
我怎么说“使用 S3 中已有的工件,只需上传更改后的 cloudformation 模板并使用它更新堆栈”?
【问题讨论】:
目前,仅使用无服务器框架更新基础架构还无法实现。即使没有代码更改,您也需要执行完整部署。
但是,如果没有代码发生更改,则执行常规 sls deploy 将无法解决问题,因为框架不会仅检测基础架构更改。如果您想强制重新部署(即您在 serverless.yml 文件中为您的 Lambda 函数连接了一个新触发器),您必须使用 --force 标志强制部署
sls deploy --force
【讨论】:
serverless.yml 文件中的环境变量。恐怕目前这是不可能的:(