Ejemplos de código de AWS SDK para las API directas de EBS - Amazon EBS

Ejemplos de código de AWS SDK para las API directas de EBS

Los siguientes ejemplos de código indican cómo utilizar las API directas de EBS con un kit de desarrollo de software (SDK) de AWS.

Uso de StartSnapshot con un SDK de AWS o la CLI

En el siguiente ejemplo de código, se muestra cómo utilizar StartSnapshot.

Rust
SDK para Rust
nota

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

async fn start(client: &Client, description: &str) -> Result<String, Error> { let snapshot = client .start_snapshot() .description(description) .encrypted(false) .volume_size(1) .send() .await?; Ok(snapshot.snapshot_id.unwrap()) }
  • Para obtener información sobre la API, consulte StartSnapshot en la Referencia de la API de AWS SDK para Rust.

Uso de PutSnapshotBlock con un SDK de AWS o la CLI

En el siguiente ejemplo de código, se muestra cómo utilizar PutSnapshotBlock.

Rust
SDK para Rust
nota

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

async fn add_block( client: &Client, id: &str, idx: usize, block: Vec<u8>, checksum: &str, ) -> Result<(), Error> { client .put_snapshot_block() .snapshot_id(id) .block_index(idx as i32) .block_data(ByteStream::from(block)) .checksum(checksum) .checksum_algorithm(ChecksumAlgorithm::ChecksumAlgorithmSha256) .data_length(EBS_BLOCK_SIZE as i32) .send() .await?; Ok(()) }
  • Para obtener información sobre la API, consulte PutSnapshotBlock en la Referencia de la API de AWS SDK para Rust.

Uso de CompleteSnapshot con un SDK de AWS o la CLI

En el siguiente ejemplo de código, se muestra cómo utilizar CompleteSnapshot.

Rust
SDK para Rust
nota

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

async fn finish(client: &Client, id: &str) -> Result<(), Error> { client .complete_snapshot() .changed_blocks_count(2) .snapshot_id(id) .send() .await?; println!("Snapshot ID {}", id); println!("The state is 'completed' when all of the modified blocks have been transferred to Amazon S3."); println!("Use the get-snapshot-state code example to get the state of the snapshot."); Ok(()) }
  • Para obtener información sobre la API, consulte CompleteSnapshot en la Referencia de la API de AWS SDK para Rust.