

Doc AWS SDK 예제 GitHub 리포지토리에서 더 많은 SDK 예제를 사용할 수 있습니다. [AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS SDKs를 사용하는 Amazon EBS의 코드 예제
<a name="ebs_code_examples"></a>

다음 코드 예제에서는 Amazon Elastic Block Store를 AWS 소프트웨어 개발 키트(SDK)와 함께 사용하는 방법을 보여줍니다.

*작업*은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접 호출하는 방법을 보여주며, 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

**추가 리소스**
+  **[Amazon EBS 사용 설명서](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)** - Amazon EBS에 대한 자세한 정보입니다.
+ **[Amazon EBS API 참조](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/OperationList-query-ebs.html)** - 사용 가능한 모든 Amazon EBS 작업에 대한 세부 정보입니다.
+ **[AWS 개발자 센터](https://aws.amazon.com/developer/code-examples/?awsf.sdk-code-examples-product=product%23ebs)** - 범주 또는 전체 텍스트 검색을 기준으로 필터링할 수 있는 코드 예제입니다.
+ **[AWS SDK 예제](https://github.com/awsdocs/aws-doc-sdk-examples)** - 기본 설정 언어로 된 전체 코드가 포함된 GitHub 리포지토리. 코드 설정 및 실행을 위한 지침이 포함되어 있습니다.

**Contents**
+ [기본 사항](ebs_code_examples_basics.md)
  + [작업](ebs_code_examples_actions.md)
    + [`CompleteSnapshot`](ebs_example_ebs_CompleteSnapshot_section.md)
    + [`PutSnapshotBlock`](ebs_example_ebs_PutSnapshotBlock_section.md)
    + [`StartSnapshot`](ebs_example_ebs_StartSnapshot_section.md)

# AWS SDKs 사용한 Amazon EBS의 기본 예제
<a name="ebs_code_examples_basics"></a>

다음 코드 예제에서는 AWS SDK를 통해 Amazon Elastic Block Store의 기본 기능을 사용하는 방법을 보여줍니다.

**Contents**
+ [작업](ebs_code_examples_actions.md)
  + [`CompleteSnapshot`](ebs_example_ebs_CompleteSnapshot_section.md)
  + [`PutSnapshotBlock`](ebs_example_ebs_PutSnapshotBlock_section.md)
  + [`StartSnapshot`](ebs_example_ebs_StartSnapshot_section.md)

# AWS SDKs 사용하는 Amazon EBS에 대한 작업
<a name="ebs_code_examples_actions"></a>

다음 코드 예제에서는 AWS SDKs를 사용하여 개별 Amazon EBS 작업을 수행하는 방법을 보여줍니다. 각 예시에는 GitHub에 대한 링크가 포함되어 있습니다. 여기에서 코드 설정 및 실행에 대한 지침을 찾을 수 있습니다.

 다음 예제에는 가장 일반적으로 사용되는 작업만 포함되어 있습니다. 전체 목록은 [Amazon Elastic Block Store API 참조](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/OperationList-query-ebs.html)를 참조하세요.

**Topics**
+ [`CompleteSnapshot`](ebs_example_ebs_CompleteSnapshot_section.md)
+ [`PutSnapshotBlock`](ebs_example_ebs_PutSnapshotBlock_section.md)
+ [`StartSnapshot`](ebs_example_ebs_StartSnapshot_section.md)

# AWS SDK와 `CompleteSnapshot` 함께 사용
<a name="ebs_example_ebs_CompleteSnapshot_section"></a>

다음 코드 예시는 `CompleteSnapshot`의 사용 방법을 보여 줍니다.

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

**SDK for Rust**  
 GitHub에 더 많은 내용이 있습니다. [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(())
}
```
+  API 세부 정보는 *AWS SDK for Rust API 참조*의 [CompleteSnapshot](https://docs.rs/aws-sdk-ebs/latest/aws_sdk_ebs/client/struct.Client.html#method.complete_snapshot)을 참조하세요.

------

# AWS SDK와 `PutSnapshotBlock` 함께 사용
<a name="ebs_example_ebs_PutSnapshotBlock_section"></a>

다음 코드 예시는 `PutSnapshotBlock`의 사용 방법을 보여 줍니다.

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

**SDK for Rust**  
 GitHub에 더 많은 내용이 있습니다. [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(())
}
```
+  API 세부 정보는 *AWS SDK for Rust API 참조*의 [PutSnapshotBlock](https://docs.rs/aws-sdk-ebs/latest/aws_sdk_ebs/client/struct.Client.html#method.put_snapshot_block)을 참조하세요.

------

# AWS SDK와 `StartSnapshot` 함께 사용
<a name="ebs_example_ebs_StartSnapshot_section"></a>

다음 코드 예시는 `StartSnapshot`의 사용 방법을 보여 줍니다.

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

**SDK for Rust**  
 GitHub에 더 많은 내용이 있습니다. [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())
}
```
+  API 세부 정보는 *AWS SDK for Rust API 참조*의 [StartSnapshot](https://docs.rs/aws-sdk-ebs/latest/aws_sdk_ebs/client/struct.Client.html#method.start_snapshot)을 참조하세요.

------