使用CloudFormation更新AWS Lambda函数

时间:2018-04-22 07:19:28

标签: amazon-web-services aws-lambda amazon-cloudformation

我有一个带有Lambda资源的CloudFormation模板。

在部署步骤中,我需要使用我的zip文件(我通过aws cloudformation package上传)更新此Lambda函数。现在,我可以将Lambda函数的名称作为参数传递给SAM functionName,但是当我这样做时,它会抱怨函数名已经存在。

没关系,但如何指定更新代码而不是尝试替换Lambda函数?

1 个答案:

答案 0 :(得分:0)

为了更新Lambda函数的代码,您只需要遵循以下过程:

# update code artefact and maybe compile it to target folder
# e.g. for Java using Maven: mvn clean compile package

$ aws cloudformation package ...
$ aws cloudformation deploy ...

这将更新模板中的所有资源。另请参阅this how-to guide

如果您只想更新单个Lambda函数的代码,也可以使用aws lambda update-function-code。但是,对于堆栈中的不同Lambda函数,这可能有点繁琐,因为您需要每个函数的ARN。因此,去年我编写了一个名为lambda-updater的小型NPM工具,它在CloudFormation堆栈中搜索Lambda函数,只更新函数的代码。你可能会感兴趣。