Amazon S3 マルチリージョンクライアントAWSSDK for PHP バージョン 3 - AWSSDK for PHP

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

Amazon S3 マルチリージョンクライアントAWSSDK for PHP バージョン 3

-AWSSDK for PHP バージョン 3 では、任意のサービスで使用できる汎用マルチリージョンクライアントが提供されています。これにより、ユーザーはどのAWSコマンドを送信するリージョン@region入力パラメータを任意のコマンドに設定します。また、SDK では、特定の Amazon S3 エラーにインテリジェントに応答し、それに応じてコマンドを再ルーティングする、Amazon S3 用のマルチリージョンクライアントも提供されています。これにより、ユーザーは同じクライアントを使用して複数のリージョンと通信できるようになります。この機能は、特にAmazon S3 のストリームラッパーAWSSDK for PHP バージョン 3で、バケットは複数のリージョンに存在します。

基本的な使用法

Amazon S3 クライアントの基本的な使用パターンは、標準 S3 クライアントとマルチリージョンクライアントのどちらを使用していても同じです。コマンドレベルでの唯一の使用法の違いは、AWSリージョンは使用して指定することができます@region入力パラメータ.

// Create a multi-region S3 client $s3Client = (new \Aws\Sdk)->createMultiRegionS3(['version' => 'latest']); // You can also use the client constructor $s3Client = new \Aws\S3\S3MultiRegionClient([ 'version' => 'latest', // Any Region specified while creating the client will be used as the // default Region 'region' => 'us-west-2', ]); // Get the contents of a bucket $objects = $s3Client->listObjects(['Bucket' => $bucketName]); // If you would like to specify the Region to which to send a command, do so // by providing an @region parameter $objects = $s3Client->listObjects([ 'Bucket' => $bucketName, '@region' => 'eu-west-1', ]);
重要

マルチリージョン Amazon S3 クライアントを使用する場合は、永続的なリダイレクト例外は発生しません。標準 Amazon S3 クライアントでは、Aws\S3\Exception\PermanentRedirectExceptionコマンドが間違ったリージョンに送信されると マルチリージョンクライアントでは、その場合に例外は発生せず、コマンドは正しいリージョンに再ディスパッチされます。

バケットリージョンキャッシュ

Amazon S3 のマルチリージョンクライアントでは、AWS特定のバケットが存在するリージョン。デフォルトでは、クライアントごとに独自のインメモリキャッシュがあります。クライアント間またはプロセス間でキャッシュを共有するには、Aws\CacheInterface のインスタンスを bucket_region_cache としてマルチリージョンクライアントに提供します。

use Aws\DoctrineCacheAdapter; use Aws\Sdk; use Doctrine\Common\Cache\ApcuCache; $sdk = new Aws\Sdk([ 'version' => 'latest', 'region' => 'us-west-2', 'S3' => [ 'bucket_region_cache' => new DoctrineCacheAdapter(new ApcuCache), ], ]);