【问题标题】:AWS CLI export volume information to CSV with instance nameAWS CLI 使用实例名称将卷信息导出到 CSV
【发布时间】:2022-08-03 06:44:46
【问题描述】:

在 Windows 10 AWS CLI 中,我已经能够使用以下命令成功地将 EBS 卷信息导出到 .csv:

aws ec2 describe-volumes –-query \"Volumes[*].[Attachments[0].VolumeId,AvailabilityZone,Attachments[0].InstanceId,Attachments[0].State,Size]\" --output text > volumes.csv

我想知道如何进行两项修改:将实例 ID 更改为实例名称,并将可排序的列添加到 .csv。

我尝试使用 \'InstanceName\' 和 \'Name\' 代替 InstanceId,但这些似乎无效,因为当我知道实例确实有名称时,CLI 在此列中返回 \'None\'。

至于自动添加列,这里没有线索

编辑:也有兴趣将卷是否加密添加到查询中......我在 AWSCLI 文档中找不到这个。

  • 您无法从 describe-volumes api 获取实例名称信息。您将需要使用从响应中获得的 instance_id 调用 describe-instances。
  • 谢谢!在上午尝试一下,我会更新帖子。

标签: amazon-web-services amazon-ec2


【解决方案1】:

您可以考虑将 steampipe 用于涉及多个 AWS 资源的此类查询。 https://steampipe.io/

这是一个例子:

$ steampipe query --header --output csv "select vol.volume_id, vol.availability_zone, vol.attachments -> 0 -> 'InstanceId' as instance_id, ec2.tags -> 'Name' as instance_name from aws_ebs_volume as vol, aws_ec2_instance as ec2 where vol.attachments -> 0 ->> 'InstanceId' = ec2.instance_id" | head -n 3
volume_id,availability_zone,instance_id,instance_name
vol-0ffd49df0fbf51143,us-east-1d,"""i-0b69388137e6bd8d6”””,”””foo"""
vol-088dfa528f0c8748b,us-east-1d,"""i-0a2450d3220ea359d”””,”””bar”””
$

【讨论】:

    猜你喜欢
    • 2017-07-12
    • 2017-12-10
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 2014-05-18
    • 1970-01-01
    • 2020-09-04
    相关资源
    最近更新 更多