Bash 如何使用AWS CLI将lambda函数部署到特定别名或版本?
在获得Lambda版本和别名之前,基于API,我可以通过Bash 如何使用AWS CLI将lambda函数部署到特定别名或版本?,bash,amazon-web-services,aws-lambda,aws-cli,Bash,Amazon Web Services,Aws Lambda,Aws Cli,在获得Lambda版本和别名之前,基于API,我可以通过 aws lambda update-function-code --function-name myFunction --zip-file fileb://archive.zip 在我添加了版本和别名之后,我得到了Lambda版本 $LATEST(默认) 1 2 和别名 登台(指向版本1) prod(指向版本2) 我尝试部署到暂存(版本1) 第一次尝试 给出错误 当前操作不支持 除$LATEST以外的其他版本。请将版本设置为$
aws lambda update-function-code --function-name myFunction --zip-file fileb://archive.zip
在我添加了版本和别名之后,我得到了Lambda版本
- $LATEST(默认)
- 1
- 2
- 登台(指向版本1)
- prod(指向版本2)
第一次尝试 给出错误 当前操作不支持 除$LATEST以外的其他版本。请将版本设置为$LATEST或do 未在您的请求中设置版本
第二次尝试 或 给出错误 请不要提供其他功能代码 提供ZipFile时的参数
如何使用AWS CLI将lambda函数正确部署到特定别名或版本?谢谢好的,假设您已经使用此命令部署了lambda: aws lambda更新函数代码--function name$function\u name--zip文件fileb://lambda.zip 并且您已经创建了两个具有2个别名的版本(暂存产品) 现在,您只需发布到rigth版本:
VERSION=1
aws lambda更新别名--函数名$function\u name--名称暂存--函数版本$version
VERSION=2
aws lambda更新别名--函数名$function\u name--名称prod--函数版本$version
如果您想更进一步,可以将最后一个部署绑定到最新版本。因此,首先您需要检索最新版本,为此我使用,但可以随意使用任何您想要的,然后使用此版本进行更新
VERSION=$(aws lambda发布版本--函数名$function|u name | jq-r.VERSION)
aws lambda更新别名--函数名$function\u name--名称暂存--函数版本$version
这是文件。
这是基于AWS文件的文件。 发布的版本是不可变的。也就是说,您不能更改代码或配置信息
因此,您需要发布新版本的函数,然后更新别名以指向新创建的版本。jq非常有用!你们必须了解我的想法,这正是我脑海中出现的问题——如何从命令中获得结果!这是一个非常干净的解决方案。非常感谢。
aws lambda update-function-code --function-name arn:aws:lambda:us-west-2:123456789000:function:myFunction:staging --zip-file fileb://archive.zip
aws lambda update-function-code --function-name myFunction --zip-file fileb://archive.zip --s3-object-version 1
aws lambda update-function-code --function-name myFunction --zip-file fileb://archive.zip --s3-object-version staging