Вот несколько примеров того, как использовать встроенную опцию --query
. Каждый пример основан на предыдущем.
Получить все снимки, отсортированные по возрастанию по времени начала:
aws ec2 describe-snapshots \
--owner-ids xxxxxxxxxxxx \
--query 'sort_by(Snapshots, &StartTime)'
Получить самый старый снимок:
aws ec2 describe-snapshots \
--owner-ids xxxxxxxxxxxx \
--query 'sort_by(Snapshots, &StartTime)[0]'
Получить самый новыйснимок:
aws ec2 describe-snapshots \
--owner-ids xxxxxxxxxxxx \
--query 'sort_by(Snapshots, &StartTime)[-1]'
# Example of output:
{
"Description": "End of Q3 snapshot",
"Encrypted": false,
"OwnerId": "xxxxxxxxxxxx",
"Progress": "100%",
"SnapshotId": "snap-0f601234abcd12345",
"StartTime": "2019-09-30T23:59:59.999Z",
"State": "completed",
"VolumeId": "vol-0f123dc5b1dd911d3",
"VolumeSize": 8
}
Получить идентификатор новейшего снимка:
aws ec2 describe-snapshots \
--owner-ids xxxxxxxxxxxx \
--query 'sort_by(Snapshots, &StartTime)[-1].SnapshotId'
# Example of output:
"snap-0f601234abcd12345"
Получить идентификатор новейшего снимка в виде простого текста:
aws ec2 describe-snapshots \
--owner-ids xxxxxxxxxxxx \
--query 'sort_by(Snapshots, &StartTime)[-1].SnapshotId' \
--output text
# Example of output:
snap-0f601234abcd12345
Если вы предпочитаете использовать jq
, вы можете получить те же результаты, как показано ниже (как указано @peak):
aws ec2 describe-snapshots \
--owner-ids xxxxxxxxxxxx \
| jq -r '.Snapshots | sort_by(.StartTime)[-1].SnapshotId'