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.
AWS Ejemplos de código de SDK para las API directas de EBS
Los siguientes ejemplos de código muestran cómo usar las API directas de EBS con un kit de desarrollo de AWS software (SDK).
Úselo StartSnapshot con un AWS SDK o CLI
En el siguiente ejemplo de código, se muestra cómo utilizar StartSnapshot.
- Rust
-
- SDK para Rust
-
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())
}
Utilízalo PutSnapshotBlock con un AWS SDK o CLI
En el siguiente ejemplo de código, se muestra cómo utilizar PutSnapshotBlock.
- Rust
-
- SDK para Rust
-
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(())
}
Utilízalo CompleteSnapshot con un AWS SDK o CLI
En el siguiente ejemplo de código, se muestra cómo utilizar CompleteSnapshot.
- Rust
-
- SDK para Rust
-
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(())
}