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

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

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

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

重要

ほとんどのリソースは特定の に存在し 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プロパティがチェックされます。

    • AWS_CONFIG_FILE 環境変数を使用すると、共有 config ファイルの場所を変更できます。このファイルの保存場所の詳細については、「AWS SDK とツールのリファレンスガイド」の「共有 configcredentials ファイルの場所」を参照してください。

    • AWS_PROFILE 環境変数を使用すると、デフォルトの代わりに名前付きプロファイルを選択できます。名前付きプロファイルの設定の詳細については、「AWS SDK とツールのリファレンスガイド」の「共有 configcredentials ファイル」を参照してください。

  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」を使用します。