

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

# AWS SDK または CLI `DescribeSnapshots`で を使用する
<a name="example_ec2_DescribeSnapshots_section"></a>

次のサンプルコードは、`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 スナップショット](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)」を参照してください。  
**例 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 ユーザーガイド*」の「[リソースの一覧表示とフィルタリングの方法](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html#Filtering_Resources_CLI)」を参照してください。  
**例 3: タグに基づいてスナップショットを説明するには**  
次の `describe-snapshots` の例では、タグフィルターを使用して、結果の範囲をタグ `Stack=Prod` を含むスナップショットに限定しています。  

```
aws ec2 describe-snapshots \
    --filters Name=tag:Stack,Values=prod
```
`describe-snapshots` の出力例については、例 1 を参照してください。  
タグフィルターを使用するその他の例については、「*Amazon EC2 ユーザーガイド*」の「[タグの使用方法](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_CLI)」を参照してください。  
**例 4: 日付に基づいてスナップショットを説明するには**  
次の`describe-snapshots`例では、JMESPath 式を使用して、指定した日付より前に AWS アカウントによって作成されたすべてのスナップショットを記述します。スナップショット ID のみが表示されます。  

```
aws ec2 describe-snapshots \
    --owner-ids 012345678910 \
    --query "Snapshots[?(StartTime<='2020-03-31')].[SnapshotId]"
```
フィルターを使用するその他の例については、「*Amazon EC2 ユーザーガイド*」の「[リソースの一覧表示とフィルタリングの方法](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html#Filtering_Resources_CLI)」を参照してください。  
**例 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 ユーザーガイド*」の「[アーカイブされたスナップショットを表示する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-snapshot-archiving.html#view-archived-snapshot)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[DescribeSnapshots](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-snapshots.html)」を参照してください。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**例 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 コマンドレットリファレンス (V4)*」の「[DescribeSnapshots](https://docs.aws.amazon.com/powershell/v4/reference)」を参照してください。

**Tools for PowerShell V5**  
**例 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 コマンドレットリファレンス (V5)*」の「[DescribeSnapshots](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

------
#### [ Rust ]

**SDK for Rust**  
 GitHub には、その他のリソースもあります。用例一覧を検索し、[AWS コード例リポジトリ](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/ebs#code-examples)での設定と実行の方法を確認してください。
スナップショットの状態を表示します。  

```
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 の詳細については、「*AWS SDK for Rust API リファレンス*」の「[DescribeSnapshots](https://docs.rs/aws-sdk-ec2/latest/aws_sdk_ec2/client/struct.Client.html#method.describe_snapshots)」を参照してください。

------

 AWS SDK 開発者ガイドとコード例の完全なリストについては、「」を参照してください[AWS SDK を使用して Amazon EC2 リソースを作成する](sdk-general-information-section.md)。このトピックには、使用開始方法に関する情報と、以前の SDK バージョンの詳細も含まれています。