繁体   English   中英

如何通过来自 DynamoDB 的 aws cli 从嵌套的 josn 获取 ftech 值

[英]How to ftech values from nested josn via aws cli from DynamoDB

我正在尝试列出 AWS Dynamodb 表 ( DDNS ) 中的Items和其他值,但是,如果只查找InstnaceId ,那么我能够获得我的实例的整个列表,但是我想从表是一个嵌套的 json,我不知道该怎么做。

以下是仅查找InstanceId时的成功:

(awscliv2) $ aws dynamodb scan --table-name DDNS --query "Items[*].{InstanceId:InstanceId}" --region us-west-2
[
    {
        "InstanceId": {
            "S": "i-03dd05693e4y43b9b"
        }
    },
    {
        "InstanceId": {
            "S": "i-07b4a8yr38d89faf1"
        }
    },
    {
        "InstanceId": {
            "S": "i-029340cb56eeae8a1"
        }
    },

从 AWS DynamoDB 控制台查看:

下面我可以看到,有两列

  • 一个是InstanceId
  • 另一个是InstanceAttributes ,所有这些值仅嵌套在其中

在此处输入图像描述

下面是嵌套的 output 的样子:

  • 正是从下面我想列出像InstanceIdRootDeviceNameImageIdInstanceType等值。
  • 我没能到那里列出它们。

在此处输入图像描述

抱歉,我在这里添加图片只是为了解决我的问题。 任何帮助将不胜感激。

您可能应该尝试下面的方法,这对我的测试很有效。

#!/bin/bash
# List the DynamoDB contents from table
aws dynamodb scan --table-name DDNS --region us-west-2 \
  --query 'Items[*].{ "Instance IP" :    InstanceAttributes.M.Reservations.L[*].M.Instances.L[*].M.PrivateIpAddress.S[]|[0],
                      "Instance TYPE":   InstanceAttributes.M.Reservations.L[*].M.Instances.L[*].M.InstanceType.S[]|[0],
                      "Instance ID":     InstanceAttributes.M.Reservations.L[*].M.Instances.L[*].M.InstanceId.S[]|[0],
                      "Image ID":        InstanceAttributes.M.Reservations.L[*].M.Instances.L[*].M.ImageId.S[]|[0],
                      "Root Device":     InstanceAttributes.M.Reservations.L[*].M.Instances.L[*].M.RootDeviceName.S[]|[0] }' \
  --output table \
  --no-cli-pager

结果:

----------------------------------------------------------------------------------------------------
|                                               Scan                                               |
+------------------------+----------------------+---------------+------------------+---------------+
|        Image ID        |     Instance ID      |  Instance IP  |  Instance TYPE   |  Root Device  |
+------------------------+----------------------+---------------+------------------+---------------+
|  ami-0660c6f78888h2dcad |  i-03dd05693e2fe3b9b |  10.0.10.200 |  r6i.large       |  /dev/sda1    |
|  ami-06811f95599jjh8126 |  i-07b4a16b44d89faf1 |  10.0.10.100 |  r6i.large       |  /dev/sda1    |
|  ami-0660c6f7c9dhhg6cad |  i-025830cb11llae8a1 |  10.0.10.110 |  r6i.large       |  /dev/sda1    |
|  ami-087945320da3908tf3 |  i-0c3e05430176nm5db |  10.0.10.111 |  r6i.large       |  /dev/sda1    |
----------------------------------------------------------------------------------------------------

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM