À utiliser DescribeSnapshots avec un AWS SDK ou CLI - Exemples de code de l'AWS SDK

D'autres AWS SDK exemples sont disponibles dans le GitHub dépôt AWS Doc SDK Examples.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

À utiliser DescribeSnapshots avec un AWS SDK ou CLI

Les exemples de code suivants montrent comment utiliserDescribeSnapshots.

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 Amazon EBS Snapshots dans le guide de l'EC2utilisateur Amazon.

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

L'describe-snapshotsexemple suivant utilise des filtres pour étendre les résultats aux instantanés appartenant à votre AWS compte qui se trouvent dans l'pendingÉtat. L'exemple utilise le --query paramètre pour afficher uniquement le cliché IDs et l'heure à laquelle il a été démarré.

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 --query paramètre pour afficher uniquement le clichéIDs.

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 section Répertorier et filtrer vos ressources dans le guide de EC2 l'utilisateur Amazon.

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 section Utilisation des balises dans le guide de EC2 l'utilisateur Amazon.

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

L'describe-snapshotsexemple suivant utilise des JMESPath expressions pour décrire tous les instantanés créés par votre AWS compte avant la date spécifiée. Il affiche uniquement l'instantanéIDs.

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

Pour d'autres exemples d'utilisation de filtres, consultez la section Répertorier et filtrer vos ressources dans le guide de EC2 l'utilisateur Amazon.

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, veuillez consulter la rubrique Afficher les instantanés archivés dans le Guide de l’utilisateur Amazon Elastic Compute Cloud.

  • Pour API plus de détails, voir DescribeSnapshotsla section Référence des AWS CLI commandes.

PowerShell
Outils pour PowerShell

Exemple 1 : Cet exemple décrit le cliché 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 API plus de détails, consultez la section DescribeSnapshotsRéférence des AWS Tools for PowerShell applets de commande.

Rust
SDKpour 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 API plus de détails, reportez-vous DescribeSnapshotsà la section AWS SDKpour la API référence à Rust.