Úselo DescribeSnapshots con un AWS SDK o CLI - Amazon Elastic Compute Cloud

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Úselo DescribeSnapshots con un AWS SDK o CLI

En los siguientes ejemplos de código, se muestra cómo utilizar DescribeSnapshots.

CLI
AWS CLI

Ejemplo 1: Describir una instantánea

En el siguiente ejemplo de describe-snapshots, se describe la instantánea especificada.

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

Salida:

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

Para obtener más información, consulte las instantáneas de Amazon EBS en la Guía EC2 del usuario de Amazon.

Ejemplo 2: Describir las instantáneas con base en filtros

En el siguiente describe-snapshots ejemplo, se utilizan filtros para limitar los resultados a las instantáneas que son propiedad de su AWS cuenta y que se encuentran en el estado. pending En el ejemplo, se usa el --query parámetro para mostrar solo la instantánea IDs y la hora en que se inició.

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

Salida:

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

En el siguiente ejemplo de describe-snapshots, se usan filtros para limitar los resultados a las instantáneas creadas a partir del volumen especificado. El ejemplo usa el --query parámetro para mostrar solo la instantánea IDs.

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

Salida:

snap-1234567890abcdef0 snap-08637175a712c3fb9 ...

Para ver ejemplos adicionales de uso de filtros, consulta Cómo publicar y filtrar tus recursos en la Guía del EC2 usuario de Amazon.

Ejemplo 3: describir las instantáneas con base en etiquetas

En el siguiente ejemplo de describe-snapshots, se usan filtros de etiquetas para limitar los resultados a las instantáneas que tienen la etiqueta Stack=Prod.

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

Para ver un ejemplo del resultado de describe-snapshots, consulte el ejemplo 1.

Para ver más ejemplos de uso de filtros de etiquetas, consulta Cómo trabajar con etiquetas en la Guía del EC2 usuario de Amazon.

Ejemplo 4: describir las instantáneas con base en la antigüedad

En el siguiente describe-snapshots ejemplo, se utilizan JMESPath expresiones para describir todas las instantáneas creadas por tu AWS cuenta antes de la fecha especificada. Muestra solo la instantánea IDs.

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

Para ver ejemplos adicionales de uso de filtros, consulta Cómo publicar y filtrar tus recursos en la Guía del EC2 usuario de Amazon.

Ejemplo 5: ver solo las instantáneas archivadas

En el siguiente ejemplo de describe-snapshots, se muestran solo las instantáneas que se almacenan en el nivel de archivo.

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

Salida:

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

Para obtener más información, consulte Ver instantáneas archivadas en la Guía del usuario de Amazon Elastic Compute Cloud.

  • Para obtener más información sobre la API, consulte DescribeSnapshotsla Referencia de AWS CLI comandos.

PowerShell
Herramientas para PowerShell

Ejemplo 1: en este ejemplo se describe la instantánea especificada.

Get-EC2Snapshot -SnapshotId snap-12345678

Salida:

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

Ejemplo 2: en este ejemplo se describen las instantáneas que tienen la etiqueta «Nombre».

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

Ejemplo 3: En este ejemplo se describen las instantáneas que tienen una etiqueta de «Nombre» con el valor «». TestValue

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

Ejemplo 4: En este ejemplo se describen todas las instantáneas.

Get-EC2Snapshot -Owner self
  • Para obtener más información sobre la API, consulte la referencia DescribeSnapshotsde Herramientas de AWS para PowerShell cmdlets.

Rust
SDK para Rust
nota

Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

Muestra el estado de una instantánea.

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(()) }
  • Para obtener más información sobre la API, consulta DescribeSnapshotsla referencia sobre la API de AWS SDK para Rust.

Para obtener una lista completa de guías para desarrolladores del AWS SDK y ejemplos de código, consulteCree EC2 recursos de Amazon mediante un AWS SDK. En este tema también se incluye información sobre cómo comenzar a utilizar el SDK y detalles sobre sus versiones anteriores.