AWS SDK for Rust での動作バージョンの使用 - AWS SDK for Rust

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

AWS SDK for Rust での動作バージョンの使用

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 で動作バージョンを設定する

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"] }

コードで動作バージョンを設定する

SDK またはクライアントを設定するときにコードを指定することにより、必要に応じて動作バージョンを変更できます。

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

この例では、環境を使用して SDK を設定する設定を作成しますが、BehaviorVersionv2023_11_09() に設定します。