AWS SDK for PHP バージョン 3 での S3 アクセスポイント ARN の使用 - AWS SDK for PHP

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

AWS SDK for PHP バージョン 3 での S3 アクセスポイント ARN の使用

S3 では、S3 バケットと対話する新しい方法であるアクセスポイントが導入されました。アクセスポイントには、バケットに直接ではなく、一意のポリシーと設定を適用できます。AWS SDK for PHP では、バケット名を明示的に指定するのではなく、バケットフィールドでアクセスポイントの ARN を API オペレーションに使用できます。S3 アクセスポイントと ARN の仕組みの詳細については、こちらを参照してください 以下の例では、次の方法を示しています。

  • アクセスポイント ARN GetObjectで を使用して、バケットからオブジェクトを取得します。

  • アクセスポイント ARN PutObjectで を使用して、バケットにオブジェクトを追加します。

  • クライアントリージョンの代わりに ARN リージョンを使用するように S3 クライアントを設定します。

のすべてのサンプルコードAWS SDK for PHPは、 にあります GitHub

認証情報

サンプルコードを実行する前に、AWS の認証情報を設定します (認証情報 を参照)。AWS SDK for PHP からのインポート (基本的な使用法 を参照)。

インポート

require 'vendor/autoload.php'; use Aws\S3\S3Client;

Get Object

まず AWS リージョンとバージョンを指定する AWS.S3 クライアントサービスを作成します。次に、キーと Bucket フィールドの S3 アクセスポイントの ARN を指定して getObject メソッドを呼び出します。これにより、そのアクセスポイントに関連付けられたバケットからオブジェクトが取得されます。

サンプルコード

$s3 = new S3Client([ 'version' => 'latest', 'region' => 'us-west-2', ]); $result = $s3->getObject([ 'Bucket' => 'arn:aws:s3:us-west-2:123456789012:accesspoint:endpoint-name', 'Key' => 'MyKey' ]);

バケットにオブジェクトを配置する

まず AWS リージョンとバージョンを指定する AWS.S3 クライアントサービスを作成します。次に、必要なキー、本文やソースファイル、および Bucket フィールドに S3 アクセスポイントの ARN を指定して putObject メソッドを呼び出します。これにより、そのアクセスポイントに関連付けられたバケットにオブジェクトが格納されます。

サンプルコード

$s3 = new S3Client([ 'version' => 'latest', 'region' => 'us-west-2', ]); $result = $s3->putObject([ 'Bucket' => 'arn:aws:s3:us-west-2:123456789012:accesspoint:endpoint-name', 'Key' => 'MyKey', 'Body' => 'MyBody' ]);

クライアントリージョンの代わりに ARN リージョンを使用するように S3 クライアントを設定する

S3 クライアントオペレーションで S3 アクセスポイント の ARN を使用する場合、デフォルトでは、クライアントは ARN リージョンがクライアントリージョンと一致していることを確認し、一致していない場合は例外をスローします。この動作は、use_arn_region 設定オプションを true に設定することで、クライアントリージョン上で ARN リージョンを受け入れるように変更できます。デフォルトでは、オプションは false に設定されています。

サンプルコード

$s3 = new S3Client([ 'version' => 'latest', 'region' => 'us-west-2', 'use_arn_region' => true ]);

クライアントは、環境変数と Config ファイルオプションも次の優先順位でチェックします。

  1. 上記の例のような、use_arn_region クライアントオプション。

  2. 環境変数 AWS_S3_USE_ARN_REGION

export AWS_S3_USE_ARN_REGION=true
  1. s3_use_arn_region 共有設定ファイルの config 変数 AWS (デフォルトでは ~/.aws/config にあります)。

[default] s3_use_arn_region = true