使用 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 工作,这是一家提供无服务器监控的公司。
我正在使用 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 工作,这是一家提供无服务器监控的公司。