EBS direct API 的 AWS SDK 代码示例 - Amazon EBS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

EBS direct API 的 AWS SDK 代码示例

以下代码示例演示了如何将 EBS direct API 与 AWS 软件开发工具包(SDK)结合使用。

StartSnapshot 与 AWS SDK 或 CLI 配合使用

以下代码示例演示了如何使用 StartSnapshot

Rust
适用于 Rust 的 SDK
注意

查看 GitHub,了解更多信息。查找完整示例,学习如何在 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()) }
  • 有关 API 详细信息,请参阅《AWS SDK for Rust API 参考》中的 StartSnapshot

PutSnapshotBlock 与 AWS SDK 或 CLI 配合使用

以下代码示例演示了如何使用 PutSnapshotBlock

Rust
适用于 Rust 的 SDK
注意

查看 GitHub,了解更多信息。查找完整示例,学习如何在 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(()) }
  • 有关 API 详细信息,请参阅《AWS SDK for Rust API 参考》中的 PutSnapshotBlock

CompleteSnapshot 与 AWS SDK 或 CLI 配合使用

以下代码示例演示了如何使用 CompleteSnapshot

Rust
适用于 Rust 的 SDK
注意

查看 GitHub,了解更多信息。查找完整示例,学习如何在 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(()) }
  • 有关 API 详细信息,请参阅《AWS SDK for Rust API 参考》中的 CompleteSnapshot