翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
認証情報のメモ化
前回の戻り値を記憶している認証情報プロバイダの作成が必要になる場合があります。そのような認証情報プロバイダは、認証情報のロードが負荷の高いオペレーションである場合や、Aws\Sdk
クラスを使用して複数のクライアントで 1 つの認証情報プロバイダを共有にする場合に、パフォーマンスを向上させるために便利であることがあります。認証情報プロバイダ関数を memoize
関数内にラップすることによって、認証情報プロバイダにメモ化を追加できます。
use Aws\Credentials\CredentialProvider;
$provider = CredentialProvider::instanceProfile();
// Wrap the actual provider in a memoize function
$provider = CredentialProvider::memoize($provider);
// Pass the provider into the Sdk class and share the provider
// across multiple clients. Each time a new client is constructed,
// it will use the previously returned credentials as long as
// they haven't yet expired.
$sdk = new Aws\Sdk(['credentials' => $provider]);
$s3 = $sdk->getS3(['region' => 'us-west-2', 'version' => 'latest']);
$ec2 = $sdk->getEc2(['region' => 'us-west-2', 'version' => 'latest']);
assert($s3->getCredentials() === $ec2->getCredentials());
メモ化された認証情報の有効期限が切れると、memoize ラッパーはラップされたプロバイダを呼び出して認証情報の更新を試行します。