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

インデックスドキュメントのサポート

インデックスドキュメントは、リクエストがウェブサイトのルートまたはサブフォルダに対して行われた場合に返されるウェブページです。例えば、ユーザーがブラウザに http://www.example.com と入力した場合は、このユーザーは特定のページをリクエストしてはいません。この場合、Amazon S3 は、インデックスドキュメントを提供します。これがデフォルトページとして指定されていることもあります。

バケットをウェブサイトとして設定するときは、インデックスドキュメントの名前を指定する必要があります。この名前のオブジェクトをアップロードして、パブリックに読み取り可能となるように設定する必要があります。バケットのウェブサイトとしての設定の詳細については、「例: 静的ウェブサイトをセットアップする」を参照してください。

ルートレベル URL の末尾のスラッシュは省略可能です。例えば、index.html をウェブサイトのインデックスドキュメントとして設定した場合は、次の URL のどちらからも index.html が返されます。

Copy
http://example-bucket.s3-website-region.amazonaws.com/ http://example-bucket.s3-website-region.amazonaws.com

Amazon S3 ウェブサイトのエンドポイントの詳細については、「ウェブサイトエンドポイント」を参照してください。

インデックスドキュメントとフォルダ

Amazon S3 では、バケットとはオブジェクトが格納されるフラットなコンテナです。つまり、コンピュータのファイルシステムとは異なり、階層構造ではありません。論理的な階層を作成するには、フォルダ構造を暗示させる名前をオブジェクトキーに付けます。例えば、3 つのオブジェクトと以下のキー名を含むバケットがあるとします。

sample1.jpg

photos/2006/Jan/sample2.jpg

photos/2006/Feb/sample3.jpg

これらは、物理的な階層構造で格納されているわけではありませんが、キー名から次のような論理構造を推測できます。

sample1.jpg オブジェクトはバケットのルートにあります。

sample2.jpg オブジェクトは photos/2006/Jan サブフォルダにあります。

sample3.jpg オブジェクトは photos/2006/Feb サブフォルダにあります。

Amazon S3 コンソールがサポートするフォルダ概念は、オブジェクトキー名に基づいています。前の例からの続きとして、コンソールにはExampleBucket が表示されており、この中に photos フォルダがあります。

バケットまたはバケット内の photos フォルダにオブジェクトをアップロードできます。オブジェクト sample.jpg をバケットに追加する場合、キー名は sample.jpg です。オブジェクトを photos フォルダにアップロードする場合、オブジェクトキー名は photos/sample.jpg です。

このようなフォルダ構造をバケット内に作成する場合は、各レベルにインデックスドキュメントが存在している必要があります。ユーザーが指定した URL がフォルダルックアップに似ている場合は、末尾のスラッシュの有無によって、ウェブサイトエンドポイントの動作が決まります。例えば、末尾にスラッシュのある次の URL はphotos/index.html インデックスドキュメントを返します。

Copy
http://example-bucket.s3-website-region.amazonaws.com/photos/

ただし、前の URL から末尾のスラッシュを除外した場合、Amazon S3 はまずバケット内のオブジェクト photos を検索します。photos オブジェクトが見つからない場合、インデックスドキュメント photos/index.html を検索します。見つかった場合、Amazon S3 は 302 Found メッセージを返し、photos/ キーを指し示します。それ以降の photos/ に対するリクエストについては、Amazon S3 は photos/index.html を返します。インデックスドキュメントも見つからない場合は、エラーを返します。