AWS SDK またはコマンドラインツールDescribeSnapshotsで を使用する - AWS SDK コード例

Doc AWS SDK Examples リポジトリには、他にも SDK の例があります。 AWS GitHub

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS SDK またはコマンドラインツールDescribeSnapshotsで を使用する

以下のコード例は、DescribeSnapshots の使用方法を示しています。

CLI
AWS CLI

例 1: スナップショットを説明するには

次の describe-snapshots の例では、指定したスナップショットを示しています。

aws ec2 describe-snapshots \ --snapshot-ids snap-1234567890abcdef0

出力:

{ "Snapshots": [ { "Description": "This is my snapshot", "Encrypted": false, "VolumeId": "vol-049df61146c4d7901", "State": "completed", "VolumeSize": 8, "StartTime": "2019-02-28T21:28:32.000Z", "Progress": "100%", "OwnerId": "012345678910", "SnapshotId": "snap-01234567890abcdef", "Tags": [ { "Key": "Stack", "Value": "test" } ] } ] }

詳細については、「Amazon EC2 ユーザーガイド」の「Amazon EBS スナップショット」を参照してください。

例 2: フィルターに基づいてスナップショットを説明するには

次のdescribe-snapshots例では、フィルターを使用して、 pending状態にある AWS アカウントが所有するスナップショットに結果をスコープします。この例では、--query パラメータを使用して、スナップショット ID とスナップショットが開始された時間のみを表示します。

aws ec2 describe-snapshots \ --owner-ids self \ --filters Name=status,Values=pending \ --query "Snapshots[*].{ID:SnapshotId,Time:StartTime}"

出力:

[ { "ID": "snap-1234567890abcdef0", "Time": "2019-08-04T12:48:18.000Z" }, { "ID": "snap-066877671789bd71b", "Time": "2019-08-04T02:45:16.000Z }, ... ]

次の describe-snapshots の例では、フィルターを使用して、指定したボリュームから作成されたスナップショットに結果を絞っています。この例では、--query パラメータを使用してスナップショット ID のみを表示します。

aws ec2 describe-snapshots \ --filters Name=volume-id,Values=049df61146c4d7901 \ --query "Snapshots[*].[SnapshotId]" \ --output text

出力:

snap-1234567890abcdef0 snap-08637175a712c3fb9 ...

フィルターを使用するその他の例については、「Amazon EC2 ユーザーガイド」でリソースの一覧表示とフィルタリングの方法を参照してください。

例 3: タグに基づいてスナップショットを説明するには

次の describe-snapshots の例では、タグフィルターを使用して、結果の範囲をタグ Stack=Prod を含むスナップショットに限定しています。

aws ec2 describe-snapshots \ --filters Name=tag:Stack,Values=prod

describe-snapshots の出力例については、例 1 を参照してください。

タグフィルターを使用するその他の例については、「Amazon EC2 ユーザーガイド」でタグの使用方法を参照してください。

例 4: 日付に基づいてスナップショットを説明するには

次のdescribe-snapshots例では、JMESPath 式を使用して、指定した日付より前に AWS アカウントによって作成されたすべてのスナップショットを記述します。スナップショット ID のみが表示されます。

aws ec2 describe-snapshots \ --owner-ids 012345678910 \ --query "Snapshots[?(StartTime<='2020-03-31')].[SnapshotId]"

フィルターを使用するその他の例については、「Amazon EC2 ユーザーガイド」でリソースの一覧表示とフィルタリングの方法を参照してください。

例 5: アーカイブされたスナップショットのみを表示するには

次の describe-snapshots の例では、アーカイブ階層に保存されたスナップショットのみを説明しています。

aws ec2 describe-snapshots \ --filters "Name=storage-tier,Values=archive"

出力:

{ "Snapshots": [ { "Description": "Snap A", "Encrypted": false, "VolumeId": "vol-01234567890aaaaaa", "State": "completed", "VolumeSize": 8, "StartTime": "2021-09-07T21:00:00.000Z", "Progress": "100%", "OwnerId": "123456789012", "SnapshotId": "snap-01234567890aaaaaa", "StorageTier": "archive", "Tags": [] }, ] }

詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「アーカイブされたスナップショットを表示する」を参照してください。

  • API の詳細については、「 コマンドリファレンスDescribeSnapshots」の「」を参照してください。 AWS CLI

PowerShell
のツール PowerShell

例 1: この例では、指定したスナップショットについて説明します。

Get-EC2Snapshot -SnapshotId snap-12345678

出力:

DataEncryptionKeyId : Description : Created by CreateImage(i-1a2b3c4d) for ami-12345678 from vol-12345678 Encrypted : False KmsKeyId : OwnerAlias : OwnerId : 123456789012 Progress : 100% SnapshotId : snap-12345678 StartTime : 10/23/2014 6:01:28 AM State : completed StateMessage : Tags : {} VolumeId : vol-12345678 VolumeSize : 8

例 2: この例では、「Name」タグを持つスナップショットについて説明します。

Get-EC2Snapshot | ? { $_.Tags.Count -gt 0 -and $_.Tags.Key -eq "Name" }

例 3: この例では、値「」の「Name」タグを持つスナップショットについて説明しますTestValue。

Get-EC2Snapshot | ? { $_.Tags.Count -gt 0 -and $_.Tags.Key -eq "Name" -and $_.Tags.Value -eq "TestValue" }

例 4: この例では、すべてのスナップショットについて説明します。

Get-EC2Snapshot -Owner self
  • API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンスDescribeSnapshots」の「」を参照してください。

Rust
SDK for Rust
注記

には他にもがあります GitHub。AWS コード例リポジトリ で全く同じ例を見つけて、設定と実行の方法を確認してください。

スナップショットの状態を表示します。

async fn show_state(client: &Client, id: &str) -> Result<(), Error> { let resp = client .describe_snapshots() .filters(Filter::builder().name("snapshot-id").values(id).build()) .send() .await?; println!( "State: {}", resp.snapshots().first().unwrap().state().unwrap().as_ref() ); Ok(()) }
async fn show_snapshots(client: &Client) -> Result<(), Error> { // "self" represents your account ID. // You can list the snapshots for any account by replacing // "self" with that account ID. let resp = client.describe_snapshots().owner_ids("self").send().await?; let snapshots = resp.snapshots(); let length = snapshots.len(); for snapshot in snapshots { println!( "ID: {}", snapshot.snapshot_id().unwrap_or_default() ); println!( "Description: {}", snapshot.description().unwrap_or_default() ); println!("State: {}", snapshot.state().unwrap().as_ref()); println!(); } println!(); println!("Found {} snapshot(s)", length); println!(); Ok(()) }
  • API の詳細については、DescribeSnapshotsAWS 「 SDK for Rust API リファレンス」の「」を参照してください。