メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

AWS SDK for PHP によるウェブサイトの管理

このトピックでは、AWS SDK for PHP のクラスを使用して、ウェブサイトホスティング用に Amazon S3 バケットを設定、管理する手順を示します。Amazon S3 ウェブサイト機能の詳細については、「Amazon S3 での静的ウェブサイトのホスティング」を参照してください。

注記

このトピックでは、既に AWS SDK for PHP の使用と PHP サンプルの実行 の説明が実行されていて、AWS SDK for PHP が正しくインストールされていることを前提としています。

このトピックでは、PHP SDK のクラスを使用して、ウェブサイトホスティング用に Amazon S3 バケットを設定、管理する手順を示します。

ウェブサイトホスティング用のバケットの設定

1

Amazon S3 クライアントのインスタンスを Aws\S3\S3Client クラスの factory() メソッドを使用して作成します。

2

バケットをウェブサイトとして設定するには、Aws\S3\S3Client::putBucketWebsite() メソッドを実行します。バケット名と、インデックスドキュメント名およびエラードキュメント名を含むウェブサイト設定情報を指定する必要があります。これらのドキュメント名を指定しないと、このメソッドによって、index.html および error.html のデフォルト名がウェブサイト設定に追加されます。これらのドキュメントがバケットに存在していることを確認する必要があります。

3

バケットの既存のウェブサイト設定を取得するには、Aws\S3\S3Client::getBucketWebsite() メソッドを実行します。

4

バケットからウェブサイト設定を削除するには、Aws\S3\S3Client::deleteBucketWebsite() メソッドを使用し、パラメーターとしてバケット名を渡します。ウェブサイト設定を削除すると、バケットはウェブサイトエンドポイントからアクセスできなくなります。

以下の PHP コード例は、前述のタスクの例です。

Copy
use Aws\S3\S3Client; $bucket = '*** Your Bucket Name ***'; // 1. Instantiate the client. $s3 = S3Client::factory(); // 2. Add website configuration. $result = $s3->putBucketWebsite(array( 'Bucket' => $bucket, 'IndexDocument' => array('Suffix' => 'index.html'), 'ErrorDocument' => array('Key' => 'error.html'), )); // 3. Retrieve website configuration. $result = $s3->getBucketWebsite(array( 'Bucket' => $bucket, )); echo $result->getPath('IndexDocument/Suffix'); // 4.) Delete website configuration. $result = $s3->deleteBucketWebsite(array( 'Bucket' => $bucket, ));

例 (ウェブサイトホスティング用のバケット Amazon S3 の設定)

次の PHP コード例では、まず指定したバケットにウェブサイト設定を追加します。create_website_config メソッドで、インデックスドキュメント名とエラードキュメント名を明示的に指定します。さらに、例では、ウェブサイト設定を取得し、レスポンスを表示しています。Amazon S3 ウェブサイト機能の詳細については、「Amazon S3 での静的ウェブサイトのホスティング」を参照してください。

作業サンプルを作成およびテストする方法については、「AWS SDK for PHP の使用と PHP サンプルの実行」を参照してください。

Copy
<?php // Include the AWS SDK using the Composer autoloader. require 'vendor/autoload.php'; use Aws\S3\S3Client; $bucket = '*** Your Bucket Name ***'; // Instantiate the client. $s3 = S3Client::factory(); // 1.) Add website configuration. $result = $s3->putBucketWebsite(array( 'Bucket' => $bucket, 'IndexDocument' => array('Suffix' => 'index.html'), 'ErrorDocument' => array('Key' => 'error.html'), )); // 2.) Retrieve website configuration. $result = $s3->getBucketWebsite(array( 'Bucket' => $bucket, )); echo $result->getPath('IndexDocument/Suffix'); // 3.) Delete website configuration. $result = $s3->deleteBucketWebsite(array( 'Bucket' => $bucket, ));

関連リソース

このページの内容: