

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

# AWS SDK for PHP バージョン 3 のサービスクライアントを外部で設定する
<a name="configuring-service-clients-ext"></a>

多くの設定はコードの外部で管理できます。ほとんどの設定は、環境変数として設定することも、別の共有 AWS `config`ファイルで設定することもできます。 AWS 共有 `config` ファイルでは「プロファイル」と呼ばれる異なる設定セットを保持して、環境やテストごとに異なる設定を提供できます。 AWS 共有 `config` および `credentials` ファイルの詳細については、「[https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html)」を参照してください。

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

SDK が環境変数または設定ファイルから解決できるすべての設定を確認するには、「*AWS SDK とツールのリファレンスガイド*」の「[設定リファレンス](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html)」を参照してください。

## クライアント設定の設定プロバイダーチェーン
<a name="configuration-provider-chain"></a>

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

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

1. 環境変数
   + 環境変数の設定の詳細については、「*AWS SDK とツールのリファレンスガイド*」の「[環境変数](https://docs.aws.amazon.com/sdkref/latest/guide/environment-variables.html)」を参照してください。
   + シェルの環境変数は、システム全体、ユーザー全体、特定のターミナルセッションなど、さまざまなスコープレベルで設定できることに注意してください。

1. 共有 `config` および `credentials` ファイル
   + これらのファイルの設定については、「*AWS SDK とツールのリファレンスガイド*」の「[共有 `config` ファイルと `credentials` ファイル](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html)」を参照してください。

1. SDK ソースコード自体によって提供されるデフォルト値は、最後に使用されます。
   + Region などの一部のプロパティにはデフォルトがありません。これらのプロパティは、コード、環境設定、または共有 `config` ファイルのいずれかで明示的に指定する必要があります。SDK が必要な設定を解決できない場合、API リクエストは実行時に失敗する可能性があります。

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

## 外部設定を使用して設定されたサービスクライアントの作成
<a name="create-client-ext-conf"></a>

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

### パラメータのないコンストラクタを使用してサービスクライアントを構築する
<a name="create-client-ext-builder"></a>

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

```
require 'vendor/autoload.php';

use Aws\S3\S3Client;

$s3 = new S3Client([]);
```

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

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

## AWS SDK for PHP バージョン 3 環境変数
<a name="java-ext-config"></a>

 AWS SDK for PHP バージョン 3 は、[ほとんどの SDK でサポートされているクロス SDK 設定](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html#settingsPages)に加えて、次の環境変数で動作します。 AWS SDKs

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

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

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