如何解决导出有关 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 举报,一经查实,本站将立刻删除。