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

REST API を使用したリクエストの実行

このセクションでは、REST API を使用して Amazon S3 のエンドポイントにリクエストを生成する方法について説明します。 Amazon S3 エンドポイントのリストについては、『AWS General Reference』の「リージョンとエンドポイント」を参照してください。

REST API を使用してリクエストを生成すると、Amazon S3 のエンドポイントに仮想ホスティング形式またはパス形式の URI を使用できます。 詳細については、「Amazon S3 バケットの使用 」を参照してください。

例 仮想ホスティング形式のリクエスト

examplebucket という名前のバケットから puppy.jpg ファイルを削除する仮想ホスティング形式のリクエストの例を次に示します。

Copy
DELETE /puppy.jpg HTTP/1.1 Host: examplebucket.s3-us-west-2.amazonaws.com Date: Mon, 11 Apr 2016 12:00:00 GMT x-amz-date: Mon, 11 Apr 2016 12:00:00 GMT Authorization: authorization string

例 パス形式のリクエスト

同じリクエストのパス形式バージョンの例を次に示します。

Copy
DELETE /examplebucket/puppy.jpg HTTP/1.1 Host: s3-us-west-2.amazonaws.com Date: Mon, 11 Apr 2016 12:00:00 GMT x-amz-date: Mon, 11 Apr 2016 12:00:00 GMT Authorization: authorization string

Amazon S3 では、仮想ホステッドスタイルとパススタイルのアクセスがすべてのリージョンでサポートされます。ただし、パススタイル構文の場合は、バケットへのアクセスを試行するときにリージョン固有のエンドポイントを使用する必要があります。たとえば、バケットの名前が mybucket で 欧州 (アイルランド) リージョンにあり、パススタイル構文を使用したい場合、オブジェクト名が puppy.jpg なら、正しい URI は http://s3-eu-west-1.amazonaws.com/mybucket/puppy.jpg となります。

米国東部 (バージニア北部) リージョン以外のバケットにアクセスする際に、パススタイル構文で以下のいずれかを使用すると、HTTP レスポンスコード 307 Temporary Redirect エラー、およびリソースの正しい URI を伝えるメッセージが表示されます。

  • http://s3.amazonaws.com

  • バケットがあるリージョンとは異なるリージョンのエンドポイント。たとえば、http://s3-eu-west-1.amazonaws.com (米国西部 (北カリフォルニア) リージョンで作成されたバケットが対象)。

REST API を使用してデュアルスタックのエンドポイントへリクエストを実行

REST API を使用すると、仮想ホスティング形式やパス形式のエンドポイント名 (URI) を使用してデュアルスタックのエンドポイントに直接アクセスできます。 すべての Amazon S3 デュアルスタックのエンドポイント名は名前にリージョンが含まれます。 標準の IPv4 のみのエンドポイントとは異なり、仮想ホスティング形式とパス形式のエンドポイントではリージョン固有のエンドポイント名を使用します。

例 仮想ホスティング形式のデュアルスタックのエンドポイントのリクエスト

puppy.jpg という名前のバケットから examplebucket オブジェクトを取得する次の例に示すように、REST リクエストで仮想ホスティング形式のエンドポイントを使用できます。

Copy
GET /puppy.jpg HTTP/1.1 Host: examplebucket.s3.dualstack.us-west-2.amazonaws.com Date: Mon, 11 Apr 2016 12:00:00 GMT x-amz-date: Mon, 11 Apr 2016 12:00:00 GMT Authorization: authorization string

例 パス形式のデュアルスタックのエンドポイントのリクエスト

または次の例に示すように、リクエストでパス形式のエンドポイントを使用することができます。

Copy
GET /examplebucket/puppy.jpg HTTP/1.1 Host: s3.dualstack.us-west-2.amazonaws.com Date: Mon, 11 Apr 2016 12:00:00 GMT x-amz-date: Mon, 11 Apr 2016 12:00:00 GMT Authorization: authorization string

デュアルスタックのエンドポイントの詳細については、「Amazon S3 デュアルスタックのエンドポイントを使用する」を参照してください。