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

如何用jq按Key名称选择AWS Tags中的对应Value值?

用jq根据标签Key取值的方法

因为Tags数组顺序不固定,不能依赖索引,你可以用jq的select筛选器结合数组遍历实现:

核心jq表达式

.Tags[] | select(.Key == "OS") | .Value

表达式解释

  • .Tags[]:遍历Tags数组中的每一个标签对象
  • select(.Key == "OS"):筛选出Key字段等于"OS"的标签
  • .Value:提取该标签对应的Value值

实际使用示例

假设AWS CLI返回的JSON结构如下:

{
  "InstanceId": "i-1234567890abcdef0",
  "Tags": [
    {"Key": "Name", "Value": "web-server"},
    {"Key": "OS", "Value": "Ubuntu 22.04"},
    {"Key": "Environment", "Value": "production"}
  ]
}

直接结合AWS CLI使用的命令:

aws ec2 describe-instances --instance-ids i-1234567890abcdef0 | jq '.Reservations[].Instances[] | .Tags[] | select(.Key == "OS") | .Value'

如果JSON已保存到本地文件(比如instance.json),执行:

jq '.Tags[] | select(.Key == "OS") | .Value' instance.json

特殊情况处理

如果存在多个Key为"OS"的标签,上述表达式会返回所有匹配的Value。若只需取第一个匹配项,可改用:

.Tags | map(select(.Key == "OS")) | first.Value

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 01:47:06