从以下命令访问更新的lambda版本:`aws lambda publish-version`

时间:2018-08-24 16:31:53

标签: amazon-web-services continuous-integration aws-lambda aws-cli

我的CI管道将做两件事

  • 生成新的lambda版本并发布
  • 更新别名以指向该新版本

这将通过cli命令完成。我的问题是,如何访问从第一个命令生成的版本号。它被返回并发布到CLI。可以通过一些漂亮的命令轻松访问它,还是我必须自己解析它?

例如

enter image description here

3 个答案:

答案 0 :(得分:1)

version=$(aws lambda publish-version \
  --function-name test_lambda --description "updated via cli" --region eu-west-1 \
  --query Version \
  --output text)

请参阅《 AWS CLI用户指南》的Controlling Command Output from the AWS Command Line Interface页,特别是How to Filter the Output with the --query OptionText Output Format

答案 1 :(得分:0)

此方法有效,但仍然对是否有更好的方法感到好奇。

version=$(aws lambda publish-version --function-name test_lambda --description "updated via cli" --region eu-west-1| jq '.Version')

答案 2 :(得分:0)

NEW_LAMBDA_VERSION=$(aws lambda list-versions-by-function --function-name $LAMBDA_NAME_FOR_DEPLOY --no-paginate --query "max_by(Versions, &to_number(to_number(Version) || '0'))")
NEW_LAMBDA_VERSION=$(echo $NEW_LAMBDA_VERSION | jq -r .Version)
echo $NEW_LAMBDA_VERSION

在这种情况下,我使用 .gitlab-ci.yml。

enter image description here