

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# AWS SDK-Codebeispiele für direkte EBS-APIs
<a name="sdk"></a>

Die folgenden Codebeispiele zeigen, wie direkte EBS-APIs mit einem AWS Software Development Kit (SDK) verwendet werden. 

**Topics**
+ [StartSnapshot](#sdk-StartSnapshot)
+ [PutSnapshotBlock](#sdk-PutSnapshotBlock)
+ [CompleteSnapshot](#sdk-CompleteSnapshot)

## Verwenden Sie `StartSnapshot` mit einem AWS SDK oder CLI
<a name="sdk-StartSnapshot"></a>

Das folgende Codebeispiel zeigt die Verwendung`StartSnapshot`.

------
#### [ Rust ]

**SDK für Rust**  
 Es läuft noch mehr GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/ebs#code-examples) einrichten und ausführen. 

```
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-Details finden Sie [ StartSnapshot ](https://docs.rs/aws-sdk-ebs/latest/aws_sdk_ebs/client/struct.Client.html#method.start_snapshot) in der *AWS SDK for Rust API-Referenz*. 

------

## Verwenden Sie `PutSnapshotBlock` mit einem AWS SDK oder CLI
<a name="sdk-PutSnapshotBlock"></a>

Das folgende Codebeispiel zeigt die Verwendung`PutSnapshotBlock`.

------
#### [ Rust ]

**SDK für Rust**  
 Es läuft noch mehr GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/ebs#code-examples) einrichten und ausführen. 

```
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-Details finden Sie [ PutSnapshotBlock ](https://docs.rs/aws-sdk-ebs/latest/aws_sdk_ebs/client/struct.Client.html#method.put_snapshot_block) in der *AWS SDK for Rust API-Referenz*. 

------

## Verwenden Sie `CompleteSnapshot` mit einem AWS SDK oder CLI
<a name="sdk-CompleteSnapshot"></a>

Das folgende Codebeispiel zeigt die Verwendung`CompleteSnapshot`.

------
#### [ Rust ]

**SDK für Rust**  
 Es läuft noch mehr GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/ebs#code-examples) einrichten und ausführen. 

```
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-Details finden Sie [ CompleteSnapshot ](https://docs.rs/aws-sdk-ebs/latest/aws_sdk_ebs/client/struct.Client.html#method.complete_snapshot) in der *AWS SDK for Rust API-Referenz*. 

------