You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用AWS CLI筛选MinSize大于0的Auto Scaling组?

解决AWS CLI筛选MinSize大于0的Auto Scaling组问题

你原来的命令里的JMESPath语法有点问题,MinSize=>0不是正确的筛选写法。这里给你两种可行的方法,分别适合不同的场景:

方法一:使用--query进行客户端筛选(灵活易读)

这是最直接的方式,用JMESPath的条件过滤语法,先筛选出MinSize > 0的Auto Scaling组,再提取你需要的字段:

aws autoscaling describe-auto-scaling-groups --query 'AutoScalingGroups[?MinSize > 0].[AutoScalingGroupName, MinSize, MaxSize, DesiredCapacity, LaunchConfigurationName]'

关键点说明:

  • [?MinSize > 0]:这是JMESPath的过滤表达式,意思是只保留数组中MinSize属性大于0的元素
  • 后面的.[AutoScalingGroupName, ...]:指定你要输出的字段列表,按顺序排列

如果想要更直观的表格输出,加上--output table参数即可:

aws autoscaling describe-auto-scaling-groups --query 'AutoScalingGroups[?MinSize > 0].[AutoScalingGroupName, MinSize, MaxSize, DesiredCapacity, LaunchConfigurationName]' --output table

方法二:使用--filter进行服务端筛选(效率更高)

如果你的AWS账号下有大量Auto Scaling组,推荐用服务端筛选,减少返回的数据量:

aws autoscaling describe-auto-scaling-groups --filters "Name=min-size,Values=1,2,3,4,5"

不过这个方法的局限性是Values需要指定具体的数值,如果要覆盖所有大于0的情况,需要列出所有可能的正整数,不如--query灵活。如果需要结合字段选择,可以把--filter和--query一起用:

aws autoscaling describe-auto-scaling-groups --filters "Name=min-size,Values=1,2,3,4,5" --query 'AutoScalingGroups[].[AutoScalingGroupName, MinSize, MaxSize, DesiredCapacity, LaunchConfigurationName]'

为什么你的原命令不生效?

你写的MinSize=>0是错误的JMESPath语法,JMESPath中过滤条件必须放在数组的[?...]表达式里,而不是直接写在字段列表中。正确的逻辑是先过滤数组元素,再选择字段。

内容的提问来源于stack exchange,提问作者a-dawg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:12:04