기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS SDK EBS 직접 코드 예제 APIs
다음 코드 예제에서는 AWS 소프트웨어 개발 키트()APIs와 함께 EBS 직접를 사용하는 방법을 보여줍니다SDK.
또는와 StartSnapshot
AWS SDK 함께 사용 CLI
다음 코드 예시에서는 StartSnapshot
을 사용하는 방법을 보여 줍니다.
- Rust
-
- SDK 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())
}
또는와 PutSnapshotBlock
AWS SDK 함께 사용 CLI
다음 코드 예시에서는 PutSnapshotBlock
을 사용하는 방법을 보여 줍니다.
- Rust
-
- SDK 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(())
}
또는와 CompleteSnapshot
AWS SDK 함께 사용 CLI
다음 코드 예시에서는 CompleteSnapshot
을 사용하는 방법을 보여 줍니다.
- Rust
-
- SDK 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(())
}