AWS CLI - 如何查询在特定日期之后创建的快照

AWS CLI - How to query snapshots created after a specific date

我正在尝试查询在特定日期之后创建的快照,但未返回任何结果。我正在尝试的查询如下:

aws ec2 describe-snapshots --query 'Snapshots[?StartTime >= `2017-06-01`].{id:SnapshotId}' --owner-ids nnnnnnnnnnn

如果我删除 --query 部分,将返回所有快照,所以我知道这与查询有关。

我尝试检查 JMESPath docs but there isn't much there on date manipulation. I also tried replicating the syntax in the example here 无济于事。

谢谢,

您的代码示例非常适合我! (使用我的帐户 ID。)

在快照上查找日期,然后将该日期放入查询中——前一天然后 运行 后一天再次输入。这应该可以帮助您追踪奇怪的行为。

$ aws ec2 describe-snapshots --query 'Snapshots[?StartTime >= `2016-08-30`].{id:SnapshotId}' --owner-ids 123456789012
[
    {
        "id": "snap-e044d613"
    }, 
    {
        "id": "snap-f4444506"
    }
]

$ aws ec2 describe-snapshots --query 'Snapshots[?StartTime >= `2016-08-31`].{id:SnapshotId}' --owner-ids 123456789012
[]

我是 AWS CLI 和 jquery 的忠实粉丝,所以我找到了列出在特定时间戳之前创建的所有快照的最简单方法:-

aws ec2 describe-snapshots --owner self --output json | jq '.Snapshots[] | select(.StartTime > "2019-12-18")'