Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何使用AWS CLI将lambda函数部署到特定别名或版本?_Bash_Amazon Web Services_Aws Lambda_Aws Cli - Fatal编程技术网

Bash 如何使用AWS CLI将lambda函数部署到特定别名或版本?

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以外的其他版本。请将版本设置为$

在获得Lambda版本和别名之前,基于API,我可以通过

aws lambda update-function-code --function-name myFunction --zip-file fileb://archive.zip
在我添加了版本和别名之后,我得到了Lambda版本

  • $LATEST(默认)
  • 1
  • 2
和别名

  • 登台(指向版本1
  • prod(指向版本2
我尝试部署到暂存(版本1


第一次尝试 给出错误

当前操作不支持 除$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