Hon*_*iao 2 bash amazon-web-services aws-cli aws-lambda
在我拥有 Lambda 版本和别名之前,基于 API update-function-code我可以通过以下方式成功部署
aws lambda update-function-code --function-name myFunction --zip-file fileb://archive.zip
Run Code Online (Sandbox Code Playgroud)
添加版本和别名后,我有 Lambda 版本
和别名
我尝试部署到登台(版本1),
aws lambda update-function-code --function-name arn:aws:lambda:us-west-2:123456789000:function:myFunction:staging --zip-file fileb://archive.zip
Run Code Online (Sandbox Code Playgroud)
给出错误
当前操作不支持 $LATEST 以外的版本。请将版本设置为 $LATEST 或不要在您的请求中设置版本。
aws lambda update-function-code --function-name myFunction --zip-file fileb://archive.zip --s3-object-version 1
Run Code Online (Sandbox Code Playgroud)
或者
aws lambda update-function-code --function-name myFunction --zip-file fileb://archive.zip --s3-object-version staging
Run Code Online (Sandbox Code Playgroud)
给出错误
提供 ZipFile 时请不要提供其他 FunctionCode 参数。
如何使用 AWS CLI 将 lambda 函数正确部署到特定别名或版本?谢谢
BTL*_*BTL 12
好的,假设您已经设法使用以下命令部署了 lambda:
aws lambda update-function-code --function-name $FUNCTION_NAME --zip-file fileb://lambda.zip
Run Code Online (Sandbox Code Playgroud)
并且您已经创建了 2 个具有 2 个别名的版本(暂存产品)。
现在你只需要发布到 rigth 版本:
VERSION=1
aws lambda update-alias --function-name $FUNCTION_NAME --name staging --function-version $VERSION
Run Code Online (Sandbox Code Playgroud)
VERSION=2
aws lambda update-alias --function-name $FUNCTION_NAME --name prod --function-version $VERSION
Run Code Online (Sandbox Code Playgroud)
如果您想更进一步,您可以将最后一个部署绑定到最新版本。所以首先你需要检索最新版本,为此我使用jq但随意使用任何你想要的,然后用这个版本更新。
VERSION=$(aws lambda publish-version --function-name $FUNCTION_NAME | jq -r .Version)
aws lambda update-alias --function-name $FUNCTION_NAME --name staging --function-version $VERSION
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1979 次 |
| 最近记录: |