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

如何通过AWS CLI从DynamoDB嵌套JSON提取指定字段

解决DynamoDB嵌套字段提取问题

直接提取嵌套Map类型字段的命令

如果你的InstanceAttributes是DynamoDB的Map类型(即存储为嵌套对象而非JSON字符串),可在--query参数中用点路径访问嵌套字段,同时指定类型后缀(比如字符串类型用.S)提取实际值:

(awscliv2) $ aws dynamodb scan --table-name DDNS --query "Items[*].{InstanceId:InstanceId.S, RootDeviceName:InstanceAttributes.RootDeviceName.S, ImageId:InstanceAttributes.ImageId.S, InstanceType:InstanceAttributes.InstanceType.S}" --region us-west-2

处理JSON字符串类型的嵌套字段

如果InstanceAttributes是以JSON字符串形式存储(即字段类型为S,值是完整的JSON文本),需要结合jq工具解析字符串:

(awscliv2) $ aws dynamodb scan --table-name DDNS --region us-west-2 | jq '.Items[] | {InstanceId: .InstanceId.S, RootDeviceName: (.InstanceAttributes.S | fromjson).RootDeviceName, ImageId: (.InstanceAttributes.S | fromjson).ImageId, InstanceType: (.InstanceAttributes.S | fromjson).InstanceType}'

补充说明

  • DynamoDB中每个属性都带有类型标识(如字符串S、数字N、布尔BOOL等),必须通过类型后缀才能拿到实际值,否则返回的是包含类型的结构。
  • 若不确定字段类型,可先执行不带--query的scan命令,查看原始数据结构后再调整提取路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 14:20:59