での Amazon S3 バケットの設定AWSSDK for PHP バージョン 3 - AWSSDK for PHP

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

での Amazon S3 バケットの設定AWSSDK for PHP バージョン 3

Cross-Origin Resource Sharing (CORS) は、特定のドメインにロードされたクライアントウェブアプリケーションが異なるドメイン内のリソースと通信する方法を定義します。Amazon S3 で CORS がサポートされたことで、Amazon S3 でリッチなクライアント側ウェブアプリケーションを構築し、Amazon S3 リソースへのクロスオリジンアクセスを選択的に許可できます。

Amazon S3 バケットで CORS 設定を使用する方法の詳細については、「」を参照してください。Cross-Origin Resource Sharing (CORS)

以下の例では、次の方法を示しています。

  • GetBucketCors を使用して、バケットの CORS 設定を取得する

  • PutBucketCors を使用して、バケットの CORS 設定を設定する

用のすべてのサンプルコードはAWSSDK for PHP バージョン 3 で入手できますGitHub で

Credentials

サンプルコードを実行する前に、AWS「」の説明に従って、の認証情報を指定します。の認証情報AWSSDK for PHP バージョン 3。次にをインポートします。AWSSDK for PHP (を参照)。の基本的な使用パターンAWSSDK for PHP バージョン 3

CORS 設定を取得する

次のコードのように、PHP ファイルを作成します。AWS.S3 クライアントサービスを作成してから、getBucketCors メソッドを呼び出して、CORS 設定を取得するバケットを指定します。

必要なパラメーターは、選択したバケットの名前のみです。バケットに現在 CORS 設定が存在する場合は、その設定が Amazon S3 によって、CorsRules オブジェクト

インポート

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

サンプルコード

$client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); try { $result = $client->getBucketCors([ 'Bucket' => $bucketName, // REQUIRED ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

CORS 設定を設定する

次のコードのように、PHP ファイルを作成します。AWS.S3 クライアントサービスを作成してから、putBucketCors メソッドを呼び出して、CORS 設定を設定するバケットを指定し、CORSConfiguration を CORSRules JSON オブジェクトとして指定します。

インポート

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

サンプルコード

$client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); try { $result = $client->putBucketCors([ 'Bucket' => $bucketName, // REQUIRED 'CORSConfiguration' => [ // REQUIRED 'CORSRules' => [ // REQUIRED [ 'AllowedHeaders' => ['Authorization'], 'AllowedMethods' => ['POST', 'GET', 'PUT'], // REQUIRED 'AllowedOrigins' => ['*'], // REQUIRED 'ExposeHeaders' => [], 'MaxAgeSeconds' => 3000 ], ], ] ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }