

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# での動作バージョンの使用 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>

SDK や個々のモジュールの動作バージョン (`aws-sdk-s3` または `aws-sdk-iam` など) は、`Cargo.toml` ファイルに適切な機能フラグを含めることにより指定できます。現時点では、SDK の `latest` バージョンのみが `Cargo.toml` でサポートされています。

```
[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()` に設定します。