2

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

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

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

我尝试检查JMESPath 文档,但关于日期操作的内容并不多。我还尝试在此处复制示例中的语法,但无济于事。

谢谢,

4

2 回答 2

4

您的代码示例对我来说效果很好!(使用我的帐户 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
[]
于 2017-08-02T05:59:29.370 回答
0

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

aws ec2 describe-snapshots --owner self --output json | jq '.Snapshots[] | select(.StartTime > "2019-12-18")'  
于 2019-12-21T14:56:53.907 回答