amazon-web-services - 如何在 AWS CLI 中获取 Lambda 函数的最新发布版本
问题描述
如何获取 Lambda 函数的最新发布版本?除了$LATEST
,我怎样才能得到“5”的结果
$ aws lambda list-versions-by-function --function-name My_Lambda_Function --query 'Versions[*][Version, FunctionArn]' --output json
[
[
"$LATEST",
"arn:aws:lambda:us-east-2:123456789000:function:My_Lambda_Function:$LATEST"
],
[
"1",
"arn:aws:lambda:us-east-2:123456789000:function:My_Lambda_Function:1"
],
[
"2",
"arn:aws:lambda:us-east-2:123456789000:function:My_Lambda_Function:2"
],
[
"3",
"arn:aws:lambda:us-east-2:123456789000:function:My_Lambda_Function:3"
],
[
"4",
"arn:aws:lambda:us-east-2:123456789000:function:My_Lambda_Function:4"
],
[
"5",
"arn:aws:lambda:us-east-2:123456789000:function:My_Lambda_Function:5"
]
]
解决方案
我发现GitHub 上的这个帖子很有见地,你可以通过$LATEST
几种方法获得最大的非项目,但只有一种是正确的:
错误的方式,此命令仅就版本而言是正确的,9
因为它将对版本进行字符串比较并确定"9"
大于"10"
:
aws lambda list-versions-by-function --function-name my_lambda \
--query "max_by(Versions, &Version)"
错误的方式,此命令仅就版本50
(或任何页面大小)而言是正确的,因为它只会过滤第一页中返回的结果。
aws lambda list-versions-by-function --function-name my_lambda \
--query "Versions[-1]"
错误的方式,此命令将在过滤它们之前考虑所有结果,但仍假定它们将按正确的顺序排列
aws lambda list-versions-by-function --function-name my_lambda \
--no-paginate \
--query "Versions[-1]"
错误的方式,这个命令看起来正确的排序目的,但会在to_number("$LATEST")
返回时窒息null
。
aws lambda list-versions-by-function --function-name my_lambda \
--no-paginate \
--query "max_by(Versions, &to_number(Version))"
错误的方式,这个命令看起来适合排序,但(在我的机器上)不接受文字0
。
aws lambda list-versions-by-function --function-name my_lambda \
--no-paginate \
--query "max_by(Versions, &to_number(Version) || '0')"
正确的方法是,此命令将在考虑所有结果之前获取所有结果,并通过两次转换为数字来解决数字文字的问题。
aws lambda list-versions-by-function --function-name my_lambda \
--no-paginate \
--query "max_by(Versions, &to_number(to_number(Version) || '0'))"
推荐阅读
- python - 如何使用 Python API 为 Dataproc 集群激活计划删除?
- python - Python中具有列表整数的多个循环的正确语法
- c - 为什么我收到分段错误:11?
- javascript - 在 ajax 响应中处理文件(在本例中为视频)
- c++ - 问题是关于 C++ 中的数组,以便更多地了解编程主题
- botframework - 是否可以在自适应卡的 body 数组中添加 action.open url?
- wordpress - 将 Wordpress 网站部署到 Wix 购买的域中
- css - 从手机屏幕切换到平板电脑和电脑屏幕时,如何让徽标移动到页面的左侧?
- android - 底部导航栏导致滞后?
- crystal-reports - Crystal Reports 中没有导出到 MS Excel 97-2003