AWS リージョン の の設定 AWS SDK for Rust - AWS SDK for Rust

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

AWS リージョン の の設定 AWS SDK for Rust

を使用して、特定の地域 AWS のサービス で動作する にアクセスできます AWS リージョン。これは、冗長性と、ユーザーとユーザーがデータやアプリケーションにアクセスする場所の近くでのデータやアプリケーションの実行を維持するのに役立ちます。リージョンの使用方法の詳細については、 SDK およびツールリファレンスガイドAWS リージョンの「」を参照してください。 AWS SDKs

重要

ほとんどのリソースは特定の に存在し AWS リージョン 、SDK を使用するときはリソースに正しいリージョンを指定する必要があります。

AWS リクエストに使用する SDK for Rust AWS リージョン のデフォルトを設定する必要があります。このデフォルトは、リージョンで指定されていない SDK サービスメソッド呼び出しに使用されます。

共有 AWS configファイルまたは環境変数を使用してデフォルトのリージョンを設定する方法の例については、 AWS リージョン AWS SDKs「」を参照してください。

AWS リージョン プロバイダーチェーン

次のルックアッププロセスは、実行環境からサービスクライアントの設定をロードするときに使用されます。SDK がセットを見つけた最初の値は、クライアントの設定で使用されます。サービスクライアントの作成の詳細については、「」を参照してください環境からクライアントを設定する

  1. プログラムで設定された明示的なリージョン。

  2. AWS_REGION 環境変数が確認されます。

    • AWS Lambda サービスを使用している場合、この環境変数は AWS Lambda コンテナによって自動的に設定されます。

  3. 共有 AWS configファイルの regionプロパティがチェックされます。

  4. SDK は、Amazon EC2 インスタンスメタデータサービスを使用して、現在実行中の Amazon EC2 インスタンスのリージョンを決定しようとします。

    • は IMDSv2 AWS SDK for Rust のみをサポートします。

RegionProviderChain は、サービスクライアントで使用する基本設定を作成するときに、追加のコードなしで自動的に使用されます。

let config = aws_config::defaults(BehaviorVersion::latest()) .load() .await;

コード AWS リージョン での の設定

コードでリージョンを明示的に設定する

リージョンを明示的に設定する場合は、設定で Region::new()を直接使用します。

リージョンプロバイダーチェーンは使用されません。環境、共有configファイル、または Amazon EC2 インスタンスメタデータサービスをチェックしません。

use aws_config::{defaults, BehaviorVersion}; use aws_sdk_s3::config::Region; #[tokio::main] async fn main() { let config = defaults(BehaviorVersion::latest()) .region(Region::new("us-west-2")) .load() .await; println!("Using Region: {}", config.region().unwrap()); }

に有効な文字列を入力していることを確認してください AWS リージョン。指定された値は検証されません。

のカスタマイズ RegionProviderChain

リージョンを条件付きで挿入したり、上書きしたり、解決チェーンをカスタマイズしたりAWS リージョン プロバイダーチェーンする場合は、 を使用します。

use aws_config::{defaults, BehaviorVersion}; use aws_config::meta::region::RegionProviderChain; use aws_sdk_s3::config::Region; use std::env; #[tokio::main] async fn main() { let region_provider = RegionProviderChain::first_try(env::var("CUSTOM_REGION").ok().map(Region::new)) .or_default_provider() .or_else(Region::new("us-east-2")); let config = aws_config::defaults(BehaviorVersion::latest()) .region(region_provider) .load() .await; println!("Using Region: {}", config.region().unwrap()); }

前の設定では、次のようになります。

  1. まず、CUSTOM_REGION環境変数に文字列が設定されているかどうかを確認します。

  2. これが利用できない場合は、デフォルトのリージョンプロバイダーチェーンにフォールバックします。

  3. 失敗した場合は、「us-east-2」を最終的なフォールバックとして使用します。