使用 shell 可执行文件动态更改 Lambda 层的版本号

Dynamically change version number of Lambda Layer using a shell executable

我正在使用 shell 脚本,该脚本要求在 lambda 上压缩和分层一些自定义包。

通过 aws lambda publish-layer-version 部署层后,层版本显然会上升。我的 .sh 脚本中的下一个命令类似于

aws lambda update-function-configuration --function-name myfunc --layers arn:aws:lambda:<region>:273846758499:layer:<layer_name>:<version>

由于我一般不熟悉脚本,所以我愿意接受任何可行的解决方案,但我希望将 <version> 迭代到 Lambda 上可用的最新版本。这怎么能用这种语言写呢?

您可以简单地解析第一个命令的响应:

例如,我这里使用jq,它解析bash中的jsons。

version=$(aws lambda publish-layer-version --layer-name <your name> --zip-file <zip> --region "us-east-1" | jq -r '.LayerVersionArn')

然后,您可以上传: aws lambda update-function-configuration --function-name <name> --layers $version

披露:我在 Lumigo 工作,这是一家提供无服务器监控的公司。