外部での AWS SDK for PHP バージョン 3 のサービスクライアントの設定 - AWS SDK for PHP

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

外部での AWS SDK for PHP バージョン 3 のサービスクライアントの設定

多くの設定はコードの外部で管理できます。ほとんどの設定は、環境変数または個別の共有 AWS config ファイルを使用して行うことができます。AWS 共有 config ファイルでは「プロファイル」と呼ばれる異なる設定セットを保持して、環境やテストごとに異なる設定を提供できます。AWS 共有 config および credentials ファイルの詳細については、「AWS SDK およびツールリファレンスガイド」を参照してください。

ほとんどの環境変数と共有 config ファイルの設定は標準化されており、AWS SDK やツール全体で共有されて、異なる言語やアプリ間でも一貫した機能をサポートします。

SDK が環境変数または設定ファイルから解決できるすべての設定を確認するには、「AWS SDK とツールのリファレンスガイド」の「設定リファレンス」を参照してください。

クライアント設定の設定プロバイダーチェーン

SDK は、複数の場所 (またはソース) を確認して設定値を見つけます。

  1. コードまたはサービスクライアント自体に設定されている明示的な設定は、他の設定よりも優先されます。

  2. 環境変数

    • 環境変数の設定の詳細については、「AWS SDK とツールのリファレンスガイド」の「環境変数」を参照してください。

    • シェルの環境変数は、システム全体、ユーザー全体、特定のターミナルセッションなど、さまざまなスコープレベルで設定できることに注意してください。

  3. 共有 config および credentials ファイル

  4. SDK ソースコード自体によって提供されるデフォルト値は、最後に使用されます。

    • Region などの一部のプロパティにはデフォルトがありません。これらのプロパティは、コード、環境設定、または共有 config ファイルのいずれかで明示的に指定する必要があります。SDK が必要な設定を解決できない場合、API リクエストは実行時に失敗する可能性があります。

この一般的な設定チェーンに加えて、AWS SDK for PHP バージョン 3 は認証情報プロバイダーチェーンAWS リージョン 解決チェーンなどの特殊なプロバイダーチェーンも使用します。これらの特殊なチェーンは、SDK が実行されている環境を考慮したプロバイダーを追加します。たとえば、コンテナまたは EC2 インスタンスなどです。

外部設定を使用して設定されたサービスクライアントの作成

AWS のサービス と通信するには、アプリケーションにサービスクライアントを作成する必要があります。サービスクライアントは AWS のサービス への重要な接続であり、複雑な通信の詳細をすべて処理するため、ユーザーには負担がかかりません。セキュリティ、エラー処理、再試行などの重要なタスクを自動的に処理するため、ユーザーは技術的な複雑さに対処するのではなく、アプリケーションの構築に集中できます。

パラメータのないコンストラクタを使用してサービスクライアントを構築する

必要なすべての設定が外部ソースからのものである場合は、空のコンストラクタを使用してサービスクライアントを作成できます。

require 'vendor/autoload.php'; use Aws\S3\S3Client; $s3 = new S3Client([]);

前のコードスニペットにより S3Client インスタンスが作成されます。作成時に、SDK は設定を取得するために設定プロバイダチェーンを順に参照します。SDK が設定値を検出すると、その値が使用されます。

デフォルトの AWS リージョン プロバイダーチェーンとデフォルトの認証情報プロバイダーチェーンも、作成プロセスで使用されます。チェーン上のどこかで、SDK は使用する AWS リージョン を解決し、リクエスト署名のための認証情報を取得できるようにする設定を見つける必要があります。SDK がこれらの値を見つけられない場合、クライアントの作成は失敗します。

AWS SDK for PHP バージョン 3 環境変数

AWS SDK for PHP バージョン 3 は、ほとんどの AWS SDK でサポートされているクロス SDK 設定以外にも、次の環境変数で動作します。

AWS_SDK_LOAD_NONDEFAULT_CONFIG

設定すると、この環境変数は credentials ファイル (~/.aws/credential) に加えて、AWS config ファイル (~/.aws/config) から認証情報をロードするように SDK に指示します。

AWS_SDK_UA_APP_ID

SDK によって行われたリクエストの User-Agent ヘッダーに含まれるカスタムアプリケーション識別子を設定します。

AWS_SUPPRESS_PHP_DEPRECATION_WARNING

true に設定すると、SDK が生成する可能性のある PHP 非推奨の警告が抑制されます。