翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SDK for PHP バージョン 3 を使用した Amazon S3 バケットの設定
Cross−Origin Resource Sharing (CORS) は、特定のドメインにロードされたクライアントウェブアプリケーションが異なるドメイン内のリソースと通信する方法を定義します。Amazon S3 の CORS のサポートによって、Amazon S3 でリッチなクライアント側ウェブアプリケーションを構築し、Amazon S3 リソースへのクロスオリジンアクセスを選択的に許可できます。
Amazon S3 バケットで CORS 設定を使用する方法の詳細については、「Cross-Origin Resource Sharing (CORS)」を参照してください。
以下の例では、次の方法を示しています。
-
GetBucketCors を使用して、バケットの CORS 設定を取得する
-
PutBucketCors を使用して、バケットの CORS 設定を設定する
のすべてのサンプルコード AWS SDK for PHP はGitHub で入手できます
認証情報
サンプルコードを実行する前に、「」の説明に従って AWS 認証情報を設定しますAWS SDK for PHP バージョン 3 AWS を使用した での認証。次に AWS SDK for PHP、「」の説明に従って をインポートしますAWS SDK for PHP バージョン 3 のインストール。
CORS 設定を取得する
次のコードのように、PHP ファイルを作成します。AWS.S3 クライアントサービスを作成してから、getBucketCors
メソッドを呼び出して、CORS 設定を取得するバケットを指定します。
必要なパラメーターは、選択したバケットの名前のみです。そのバケットに CORS 設定が存在する場合は、その設定が Amazon S3 によって CORSRules オブジェクトとして返されます。
インポート
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\S3\S3Client;
サンプルコード
$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\Exception\AwsException; use Aws\S3\S3Client;
サンプルコード
$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()); }