amazon-web-services - 如何在 aws cli describe-instances 输出中获取标签的值?
问题描述
我想获取实例 ID 和名称标签的值,这不起作用:
aws ec2 describe-instances --filters 'Name=tag:Name,Values=InstaneNameTagPrefix*' --query 'Reservations[*].Instances[*].{InstanceId:InstanceId,Tags:Tags.Key=Name}'
解决方案
通过 JMESPath 示例完成此操作后,我能够使其正常工作。试试这个,让我知道你的结果如何。
aws ec2 describe-instances --filters 'Name=tag:Name,Values=myDevEC2*' --query 'Reservations[*].Instances[*].{InstanceId:InstanceId,Tags:Tags[?Key == `Name`] | [0].Value}'
输出 -
[
[
{
"InstanceId": "i-xxxxxxxxxxxxxx",
"Tags": "myDevEC2-123"
}
]
]
由于Tags
是一个数组,因此您需要过滤为仅名称对。之后管道标签结果并选择Value
。
PS - 您可能希望将 JSON 输出的第二个元素重命名为InstanceName
:)Tags
推荐阅读
- php - Laravel 基于域的路由
- c# - 如何在 Ray 的帮助下定位 GameObject?
- module - Fortran 中嵌套模块和子模块的使用有什么区别?
- javascript - 在非 .ts 文件中声明类型
- php - Laravel:无法对有效负载进行 JSON 编码。错误代码:5
- android - 如何在 Android Studio 3.x 中知道当前设备的 Android SDK 版本?
- tensorflow - 1 使用深度学习/cnn 进行对象检测的通道/灰度图像
- knex.js - knex.raw.query() 使用 ORDER BY 绑定给出错误
- python - 为什么从文件中导入的 python 文件调用函数后 PyQt 应用程序停止响应?
- php - 类 admin 不存在 Laravel