AWS SDK for PHP バージョン 3 で Amazon S3 マルチリージョンアクセスポイントを使用する - AWS SDK for PHP

AWS SDK for PHP バージョン 3 で Amazon S3 マルチリージョンアクセスポイントを使用する

Amazon Simple Storage Service (S3) マルチリージョンアクセスポイントは、AWS リージョン 間で Amazon S3 リクエストトラフィックをルーティングするためのグローバルエンドポイントを提供します。

マルチリージョンアクセスポイントは、 SDK for PHP、別の AWS SDK、S3 コンソール、または AWS CLI を使用して作成できます。

重要

SDK for PHP でマルチリージョンアクセスポイントを使用するには、PHP 環境に AWS 共通ランタイム (AWS CRT) 拡張機能がインストールされている必要があります。

マルチリージョンアクセスポイントを作成すると、Amazon S3 は次の形式の Amazon リソースネーム (ARN) を生成します。

arn:aws:s3::account-id:accesspoint/MultiRegionAccessPoint_alias

getObject() および putObject() メソッドのバケット名の代わりに、生成された ARN を使用できます。

<?php require './vendor/autoload.php'; use Aws\S3\S3Client; // Assign the Multi-Region Access Point to a variable and use it place of a bucket name. $mrap = 'arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap'; $key = 'my-key'; $s3Client = new S3Client([ 'region' => 'us-east-1' ]); $s3Client->putObject([ 'Bucket' => $mrap, 'Key' => $key, 'Body' => 'Hello World!' ]); $result = $s3Client->getObject([ 'Bucket' => $mrap, 'Key' => $key ]); echo $result['Body'] . "\n"; // Clean up. $result = $s3Client->deleteObject([ 'Bucket' => $mrap, 'Key' => $key ]); $s3Client->waitUntil('ObjectNotExists', ['Bucket' => $mrap, 'Key' => $key]); echo "Object deleted\n";