是否有一个命令可以列出导致简短输出的 AWS 实例?

是否有一个命令可以列出导致简短输出的 AWS 实例?

我已经设置了 AWS CLI,可以使用 aws ec2 describe-instances 获取返回的 json 对象,该对象描述了我的实例的所有已知详细信息。有没有一种简单的方法可以获取一个简短的列表,例如实例名称和实例 ID?

我希望能够在命令行上使用我的实例,但是为了获取实例 ID(start-instances 等命令需要),我必须滚动浏览所有输出。

答案1

是的,通过--query选项。

此选项允许您从结构中筛选并返回特定元素。有一个特殊的通配符[*]表示法允许您迭代对象列表;我们将使用它来迭代 EC2 实例列表并返回您想要的值。

以 JSON 格式检索 InstanceID、实例标签名称:

aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId, Tags[?Key==`Name`].Value | [0]]'

[
    [
        [
            "i-abcd1234",
            "MyFirstInstance"
        ]
    ],
    [
        [
            "i-efgh5678",
            "MySecondInstance"
        ]
    ]
]

检索 InstanceID、实例标签名称作为文本:

如果不想使用json的话,也可以添加--output输出文本的选项:

aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId, Tags[?Key==`Name`].Value | [0]]' --output text

i-abcd1234      MyFirstInstance
i-efgh5678      MySecondInstance

进一步阅读:

相关内容