

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

# AWSSDK for Rust를 사용하여 간단한 애플리케이션 생성
<a name="hello"></a>

이 자습서에 따라를 호출하는 간단한 애플리케이션을 생성하여 AWSSDK for Rust를 빠르게 시작할 수 있습니다AWS 서비스.

## 사전 조건
<a name="prerequisites"></a>

를 사용하려면 Rust 및 Cargo가 설치되어 있어야 AWS SDK for Rust합니다.
+ Rust 도구 체인 설치: [https://www.rust-lang.org/tools/install](https://www.rust-lang.org/tools/install)
+ `cargo install cargo-component` 명령을 실행하여 `cargo-component` [도구](https://github.com/bytecodealliance/cargo-component)를 설치합니다.

### 권장 도구:
<a name="recommended-tools"></a>

코드 완성 및 문제 해결을 지원하기 위해 IDE에 다음과 같은 선택적 도구를 설치할 수 있습니다.
+ rust-analyzer 확장은 [Visual Studio Code의 Rust](https://code.visualstudio.com/docs/languages/rust)를 참조하세요.
+ Amazon Q Developer는 [IDE에서 Amazon Q Developer 확장 또는 플러그인 설치](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-in-IDE-setup.html)를 참조하세요.

## 첫 번째 SDK 앱 만들기
<a name="hello-world"></a>

이 절차에서는 DynamoDB 테이블을 나열하는 첫 번째 SDK for Rust 애플리케이션을 생성합니다.

1. 터미널 또는 콘솔 창에서 앱을 생성하려는 컴퓨터의 위치로 이동합니다.

1. 다음 명령을 실행하여 `hello_world` 디렉터리를 생성하고 스켈레톤 Rust 프로젝트로 채웁니다.

   ```
   $ cargo new hello_world --bin
   ```

1. `hello_world` 디렉터리로 이동하고 다음 명령을 사용하여 앱에 필요한 종속성을 추가합니다.

   ```
   $ cargo add aws-config aws-sdk-dynamodb tokio --features tokio/full,aws-config/credentials-login
   ```

   이러한 종속성에는 비동기 I/O 작업을 구현하는 데 사용되는 [`tokio` 크레이트](https://crates.io/crates/tokio)를 포함하여 DynamoDB에 대한 구성 기능과 지원을 제공하는 SDK 크레이트가 포함됩니다.
**참고**  
`tokio/full`과 같은 기능을 사용하지 않는 한 Tokio는 비동기 런타임을 제공하지 않습니다. SDK for Rust에는 비동기 런타임이 필요합니다.  
이 `aws-config/credentials-login` 기능을 사용하면 AWSManagement Console 로그인 자격 증명을 지원할 수 있습니다. 자세한 내용은 [AWSSDKs](https://docs.aws.amazon.com/sdkref/latest/guide/access.html).

1. 다음 코드를 포함하도록 `src` 디렉터리에서 `main.rs`를 업데이트합니다.

   ```
   use aws_config::meta::region::RegionProviderChain;
   use aws_config::BehaviorVersion;
   use aws_sdk_dynamodb::{Client, Error};
   
   /// Lists your DynamoDB tables in the default Region or us-east-1 if a default Region isn't set.
   #[tokio::main]
   async fn main() -> Result<(), Error> {
       let region_provider = RegionProviderChain::default_provider().or_else("us-east-1");
       let config = aws_config::defaults(BehaviorVersion::latest())
           .region(region_provider)
           .load()
           .await;
       let client = Client::new(&config);
   
       let resp = client.list_tables().send().await?;
   
       println!("Tables:");
   
       let names = resp.table_names();
   
       for name in names {
           println!("  {}", name);
       }
   
       println!();
       println!("Found {} tables", names.len());
   
       Ok(())
   }
   ```
**참고**  
이 예제에서는 결과의 첫 페이지만 표시됩니다. 결과의 여러 페이지를 처리하는 방법은 [AWS SDK for Rust에서 페이지 매김된 결과 사용](paginating.md) 섹션을 참조하세요.

1. 프로그램을 실행합니다.

   ```
   $ cargo run
   ```

   테이블 이름 목록이 표시됩니다.