

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

# 에서 동작 버전 사용 AWS SDK for Rust
<a name="behavior-versions"></a>

AWS SDK for Rust 개발자는 언어와 주요 라이브러리가 제공하는 강력하고 예측 가능한 동작을 기대하고 신뢰합니다. SDK for Rust를 사용하는 개발자가 예상 동작을 얻을 수 있도록 하려면 클라이언트 구성에 `BehaviorVersion`이 포함되어 있어야 합니다. `BehaviorVersion`은 기본값이 예상되는 SDK의 버전을 지정합니다. 이렇게 하면 시간이 지남에 따라 SDK가 발전하여 애플리케이션 동작에 예상치 못한 부정적인 영향 없이 새로운 표준에 맞게 모범 사례를 변경하고 새로운 기능을 지원할 수 있습니다.

**주의**  
`BehaviorVersion`을 명시적으로 지정하지 않고 SDK를 구성하거나 클라이언트를 생성하려고 하면 생성자가 panic을 수행합니다.

예를 들어 SDK의 새 버전이 새 기본 재시도 정책과 함께 릴리스되었다고 가정해 보겠습니다. 애플리케이션에서 이전 버전의 SDK와 일치하는 `BehaviorVersion`을 사용하는 경우 새 기본 구성 대신 이전 구성이 사용됩니다.

SDK for Rust의 새 동작 버전이 릴리스될 때마다 이전 `BehaviorVersion`에 SDK for Rust `deprecated` 속성이 표시되고 새 버전이 추가됩니다. 이로 인해 컴파일 시 경고가 발생하지만, 그렇지 않으면 빌드가 평소와 같이 계속됩니다. `BehaviorVersion::latest()`도 새 버전의 기본 동작을 나타내도록 업데이트됩니다.

**참고**  
코드가 매우 구체적인 동작 특성에 의존하지 않는 경우 코드에서 `BehaviorVersion::latest()`를 사용하거나 `Cargo.toml` 파일의 `behavior-version-latest` 기능 플래그를 사용해야 합니다. 지연 시간에 민감하거나 Rust SDK 동작을 조정하는 코드를 작성하는 경우 `BehaviorVersion`을 특정 메이저 버전에 고정하는 것이 좋습니다.

## `Cargo.toml`에서 동작 버전 설정
<a name="set-the-behavior-version-in-cargo-toml"></a>

`Cargo.toml` 파일에 적절한 기능 플래그를 포함하여 SDK 및 `aws-sdk-s3` 또는 `aws-sdk-iam`과 같은 개별 모듈의 동작 버전을 지정할 수 있습니다. 현재 `Cargo.toml`에서는 SDK의 `latest` 버전만 지원됩니다.

```
[dependencies]
aws-config = { version = "1", features = ["behavior-version-latest"] }
aws-sdk-s3 = { version = "1", features = ["behavior-version-latest"] }
```

## 코드에서 동작 버전 설정
<a name="set-the-behavior-version-in-code"></a>

SDK 또는 클라이언트를 구성할 때 코드를 지정하여 필요에 따라 코드로 동작 버전을 변경할 수 있습니다.

```
let config = aws_config::load_defaults(BehaviorVersion::v2023_11_09()).await;
```

이 예제에서는 환경을 사용하여 SDK를 구성하지만 `BehaviorVersion`을 `v2023_11_09()`로 설정하는 구성을 생성합니다.