Amazon web services 使用aws ec2从命令行(cli)描述实例时按不起作用的标记进行筛选
我目前正试图从命令行编写aws ec2查询(在aws Linux中,这并不重要)。我正在尝试设置与以下两项匹配的筛选器:Amazon web services 使用aws ec2从命令行(cli)描述实例时按不起作用的标记进行筛选,amazon-web-services,amazon-ec2,aws-cli,Amazon Web Services,Amazon Ec2,Aws Cli,我目前正试图从命令行编写aws ec2查询(在aws Linux中,这并不重要)。我正在尝试设置与以下两项匹配的筛选器: 显示处于关闭状态(代码80)的实例,以及 显示具有标记“ShortPurpose”且其值为“Fleet”的实例 实际上,所有处于关闭状态的实例都将被返回,而不管它们是否设置了“ShortPurpose”:“Fleet”标记 我的实例设置如下: +-------------+--------------+------------------------+--+ | Instan
+-------------+--------------+------------------------+--+
| Instance ID | Tag | Tag Value | |
+-------------+--------------+------------------------+--+
| i-09876 | ShortPurpose | Fleet | |
| | Organisation | UmbrellaCorp | |
| | Name | cloud-01 | |
| | Owner | ORG-UMBR-ELLA | |
| | Purpose | Cloud processing fleet | |
+-------------+--------------+------------------------+--+
| | | | |
| i-12345 | (no tags) | | |
| | | | |
+-------------+--------------+------------------------+--+
我使用的命令是:
aws ec2 describe-instances --query "Reservations[*].Instances[*].InstanceId" --filters "Name=tag:ShortPurpose,Values=Fleet,Name=instance-state-code,Values=80"
结果是标准数组样式的响应。已成功筛选实例状态,但未筛选标记。我在AWS doumentation中的一个示例中发现,我的查询格式错误。正确的查询是:
aws ec2 describe-instances --query "Reservations[*].Instances[*].InstanceId" --filters "Name=tag-value,Values=Fleet" "Name=instance-state-code,Values=80"
请注意,我忽略了ShortPurpose标记,而是直接查找可能存在于任何标记中的值。我试图验证您的命令,但它在您编写命令时会产生错误:
Error parsing parameter '--filters': Second instance of key "Name" encountered for input:
Name=tag:ShortPurpose,Values=Fleet,Name=instance-state-code,Values=80
^
This is often because there is a preceeding "," instead of a space.
但是,我能够在沙箱实例上成功地使用它,如下所示:
aws ec2 describe-instances \
--query "Reservations[*].Instances[*].InstanceId" \
--filters Name=tag:ShortPurpose,Values=Fleet Name=instance-state-code,Values=80
过滤器之间需要空格,不需要引号:
Name=tag:ShortPurpose,Values=Fleet Name=instance state code,Values=80
。你试过了吗?谢谢。诀窍是每个过滤器必须单独处理,我用引号将它们分组。我发布的答案有效,但我会将你的标记为正确,因为你花了时间回复,你的答案也有效。@anakaine谢谢。我运行了几个实例,将它们标记到您的用例中,以验证:-)我最近似乎也遇到了问题。似乎是AWS API的变化?@four43可能是AWS CLI v1和v2之间的差异?