

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 EBS direct APIs
<a name="sdk"></a>

Les exemples de code suivants montrent comment utiliser EBS direct APIs avec un kit de développement AWS logiciel (SDK). 

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

## Utilisation `StartSnapshot` avec un AWS SDK ou une CLI
<a name="sdk-StartSnapshot"></a>

L'exemple de code suivant montre comment utiliser`StartSnapshot`.

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

**SDK pour Rust**  
 Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/ebs#code-examples). 

```
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())
}
```
+  Pour plus de détails sur l'API, voir [StartSnapshot](https://docs.rs/aws-sdk-ebs/latest/aws_sdk_ebs/client/struct.Client.html#method.start_snapshot)la section de *référence de l'API AWS SDK for Rust*. 

------

## Utilisation `PutSnapshotBlock` avec un AWS SDK ou une CLI
<a name="sdk-PutSnapshotBlock"></a>

L'exemple de code suivant montre comment utiliser`PutSnapshotBlock`.

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

**SDK pour Rust**  
 Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/ebs#code-examples). 

```
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(())
}
```
+  Pour plus de détails sur l'API, voir [PutSnapshotBlock](https://docs.rs/aws-sdk-ebs/latest/aws_sdk_ebs/client/struct.Client.html#method.put_snapshot_block)la section de *référence de l'API AWS SDK for Rust*. 

------

## Utilisation `CompleteSnapshot` avec un AWS SDK ou une CLI
<a name="sdk-CompleteSnapshot"></a>

L'exemple de code suivant montre comment utiliser`CompleteSnapshot`.

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

**SDK pour Rust**  
 Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/ebs#code-examples). 

```
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(())
}
```
+  Pour plus de détails sur l'API, voir [CompleteSnapshot](https://docs.rs/aws-sdk-ebs/latest/aws_sdk_ebs/client/struct.Client.html#method.complete_snapshot)la section de *référence de l'API AWS SDK for Rust*. 

------