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

如何通过JQ从AWS ELBv2 JSON输出提取指定负载均衡器名称数组?

解决AWS ELBv2负载均衡器名称过滤问题

你当前的命令出错原因是:第一个jq已经将.LoadBalancers[]展开为单个负载均衡器对象,第二个jq再尝试访问.LoadBalancers[]时,这个路径已经不存在了(此时处理的是单个对象而非顶层的JSON结构)。

正确命令示例

1. 提取符合条件的完整键值对数组

如果需要保留完整的负载均衡器对象并组成数组,使用单条jq命令即可:

aws elbv2 describe-load-balancers | jq '[.LoadBalancers[] | select(.LoadBalancerName | startswith("MY_LOAD_BALANCER_NAME"))]'

这个命令的逻辑是:

  • 用[]将过滤后的对象重新包裹成数组
  • 通过select筛选出名称以指定前缀开头的条目

2. 仅提取符合条件的负载均衡器名称列表

如果只需要名称的纯文本列表,使用:

aws elbv2 describe-load-balancers | jq -r '.LoadBalancers[] | select(.LoadBalancerName | startswith("MY_LOAD_BALANCER_NAME")) | .LoadBalancerName'

参数说明:

  • -r:输出原始字符串(不带JSON引号)
  • 最后追加.LoadBalancerName直接提取名称字段

示例验证

假设你的JSON输出中有一个条目:

{
    "LoadBalancerArn": "arn:aws:elasticloadbalancing...",
    "CreatedTime": "2023-01-26T22:26:42.313000+00:00",
    "LoadBalancerName": "MY_LOAD_BALANCER_NAME_test"
}

执行第二个命令后会输出:

MY_LOAD_BALANCER_NAME_test

内容的提问来源于stack exchange,提问作者Kerbol

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:31:02