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.
AWS Exemples de code SDK pour les API EBS Direct
Les exemples de code suivants montrent comment utiliser les API EBS Direct avec un kit de développement AWS logiciel (SDK).
À utiliser StartSnapshot avec AWS SDK ou CLI
L'exemple de code suivant montre comment utiliserStartSnapshot.
- Rust
-
- SDK pour 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())
}
À utiliser PutSnapshotBlock avec un AWS SDK ou CLI
L'exemple de code suivant montre comment utiliserPutSnapshotBlock.
- Rust
-
- SDK pour 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(())
}
À utiliser CompleteSnapshot avec un AWS SDK ou CLI
L'exemple de code suivant montre comment utiliserCompleteSnapshot.
- Rust
-
- SDK pour 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(())
}