Utilisation de DescribeSnapshots avec un kit AWS SDK ou une interface de ligne de commande - Exemples de code de kit AWS SDK

D’autres exemples de kits AWS SDK sont disponibles dans le référentiel GitHub AWS Doc SDK Examples.

Utilisation de DescribeSnapshots avec un kit AWS SDK ou une interface de ligne de commande

Les exemples de code suivants illustrent comment utiliser DescribeSnapshots.

CLI
AWS CLI

Exemple 1 : description d’un instantané

L’exemple describe-snapshots suivant décrit l’instantané spécifié.

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

Sortie :

{ "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" } ] } ] }

Pour plus d’informations, consultez la rubrique Instantanés Amazon EBS dans le Guide de l’utilisateur Amazon EC2.

Exemple 2 : description d’instantanés sur la base de filtres

L’exemple describe-snapshots suivant utilise des filtres pour limiter les résultats aux instantanés appartenant à votre compte AWS qui se trouvent dans l’état pending. L’exemple utilise le paramètre --query pour n’afficher que les identifiants des instantanés et l’heure à laquelle ils ont été démarrés.

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

Sortie :

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

L’exemple describe-snapshots suivant utilise des filtres pour limiter les résultats aux instantanés créés à partir du volume spécifié. L’exemple utilise le paramètre --query pour n’afficher que les ID des instantanés.

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

Sortie :

snap-1234567890abcdef0 snap-08637175a712c3fb9 ...

Pour d’autres exemples d’utilisation de filtres, consultez la rubrique Lister et filtrer vos ressources dans le Guide de l’utilisateur Amazon EC2.

Exemple 3 : description d’instantanés sur la base de balises

L’exemple describe-snapshots suivant utilise des filtres de balises pour limiter les résultats aux instantanés comportant la balise Stack=Prod.

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

Pour obtenir un exemple de la manière de procéder pour describe-snapshots, reportez-vous à l’exemple 1.

Pour d’autres exemples d’utilisation de filtres de balises, consultez la rubrique Utiliser des balises dans le Guide de l’utilisateur Amazon EC2.

Exemple 4 : description d’instantanés en fonction de l’âge

L’exemple describe-snapshots suivant utilise des expressions JMESpath pour décrire tous les instantanés créés par votre compte AWS avant la date spécifiée. Il n’affiche que les identifiants des instantanés.

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

Pour d’autres exemples d’utilisation de filtres, consultez la rubrique Lister et filtrer vos ressources dans le Guide de l’utilisateur Amazon EC2.

Exemple 5 : affichage des instantanés archivés uniquement

L’exemple describe-snapshots suivant ne liste que les instantanés qui sont stockés dans le niveau d’archivage spécifié.

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

Sortie :

{ "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": [] }, ] }

Pour plus d’informations, consultez la rubrique Afficher les instantanés archivés dans le Guide de l’utilisateur Amazon Elastic Compute Cloud.

  • Pour plus de détails sur l’API, consultez DescribeSnapshots dans la Référence des commandes de l’AWS CLI.

PowerShell
Outils pour PowerShell V4

Exemple 1 : cet exemple décrit l’instantané spécifié.

Get-EC2Snapshot -SnapshotId snap-12345678

Sortie :

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

Exemple 2 : cet exemple décrit les instantanés dotés d’une balise « Nom ».

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

Exemple 3 : cet exemple décrit les instantanés dotés d’une balise « Name » avec la valeur « TestValue ».

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

Exemple 4 : cet exemple décrit tous vos instantanés.

Get-EC2Snapshot -Owner self
  • Pour plus de détails sur l’API, consultez DescribeSnapshots dans la Référence des applets de commande pour les Outils AWS pour PowerShell (V4).

Outils pour PowerShell V5

Exemple 1 : cet exemple décrit l’instantané spécifié.

Get-EC2Snapshot -SnapshotId snap-12345678

Sortie :

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

Exemple 2 : cet exemple décrit les instantanés dotés d’une balise « Nom ».

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

Exemple 3 : cet exemple décrit les instantanés dotés d’une balise « Name » avec la valeur « TestValue ».

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

Exemple 4 : cet exemple décrit tous vos instantanés.

Get-EC2Snapshot -Owner self
  • Pour plus de détails sur l’API, consultez DescribeSnapshots dans la Référence des applets de commande pour les Outils AWS pour PowerShell (V5).

Rust
SDK pour Rust
Note

Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

Indique l’état d’un instantané.

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(()) }
  • Pour plus d’informations sur l’API, consultez la section DescribeSnapshots (français non garanti) dans la Référence d’API du kit SDK AWS pour Rust.