1 amazon-ec2 amazon-web-services aws-cli
我试图按启动时间对实例 ID 列表进行排序(因此较旧的实例位于顶部),但由于“describe-instances”的输出在多个“Reservations”中分隔的方式,我似乎遇到了问题。
当指定单个保留时,以下内容似乎有效:
$ aws ec2 describe-instances --instance-id file://instancelist.json --query "Reservations[0] | sort_by(Instances, &LaunchTime)[].InstanceId"
[
"i-0ea6fe5asda50d5ea"
]
$ aws ec2 describe-instances --instance-id file://instancelist.json --query "Reservations[1] | sort_by(Instances, &LaunchTime)[].InstanceId"
[
"i-027c72g748aae21e2",
"i-086b329e39ee20b86",
"i-0035dd291e67e141c"
]
Run Code Online (Sandbox Code Playgroud)
但如果我尝试对多个预订执行相同的操作,我会看到:
$ aws ec2 describe-instances --instance-id file://instancelist.json --query "Reservations[*] | sort_by(Instances, &LaunchTime)[].InstanceId"
In function sort_by(), invalid type for value: None, expected one of: ['array'], received: "null"
$ aws ec2 describe-instances --instance-id file://instancelist.json --query "Reservations[0:1] | sort_by(Instances, &LaunchTime)[].InstanceId"
In function sort_by(), invalid type for value: None, expected one of: ['array'], received: "null"
Run Code Online (Sandbox Code Playgroud)
有什么想法我可能做错了什么吗?
尝试以下的一些变体,它检索所有预留的所有实例,然后展平中间结果,然后按LaunchTime(别名为time)排序:
aws ec2 describe-instances \
--query "Reservations[*].Instances[*][].{id:InstanceId,time:LaunchTime} \
| sort_by([], &time)"
Run Code Online (Sandbox Code Playgroud)
输出将如下所示:
[
{
"id": "i-0d9876e0df933a123",
"time": "2019-07-09T11:52:11.000Z"
},
{
"id": "i-0d1234d5c35fff987",
"time": "2019-07-10T13:50:14.000Z"
}
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3184 次 |
| 最近记录: |