微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

导出有关 AWS 卷的信息

如何解决导出有关 AWS 卷的信息

我想将 EC2 控制台的 Volume 部分中显示的列表导出为 CSV(或至少是文本),并且我正在尝试使用 CLI。

我无法使用 Filter Expression 正确获取标签信息:

me@home:/$ aws ec2 describe-volumes --query 'Volumes[*].Tags[?Key=='Name'].Value'
[
    [],[],//...
    []
]

在这里,我希望有一个列表,有时包含标签 Name 的列的值和 [] 的列没有的值。

可以肯定的是,我检查过,我确实有带有该键的标签(但并非总是如此):

me@home:/$ aws ec2 describe-volumes --query 'Volumes[*].Tags[*].Key'
[
    [
        "kubernetes.io/created-for/pvc/name","Team","env","kubernetes.io/created-for/pvc/namespace","Name","kubernetes.io/cluster/DW","Software","Env","kubernetes.io/created-for/pv/name"
    ],[
        "env","eks:nodegroup-name","eks:cluster-name"
    ],[
        "Name","kubernetes.io/created-for/pvc/name","kubernetes.io/created-for/pv/name","kubernetes.io/created-for/pvc/namespace"
    ],//...
]

那么,我如何才能正确获取这些信息?

解决方法

一件事是您用 JMESPath 表达式中的引号破坏了 shell 引号。

您应该使用 literal expression,而不是

aws ec2 describe-volumes --query 'Volumes[*].Tags[?Key==`Name`].Value'

或对 shell query 选项值使用双引号

aws ec2 describe-volumes --query "Volumes[*].Tags[?Key=='Name'].Value"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。