Amazon が提供するAWS Java SDKを使用して、S3 サービスとやり取りしています。
デフォルトでは、SDK はバケットに virtual-host-style を使用しているようです (つまり、バケットはバケット名.s3.amazonaws.com で参照されます。例:
PUT / HTTP/1.1
Host: a-given-bucket.s3.amazonaws.com
Date: Tue, 26 Jun 2012 10:39:40 GMT
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Content-Length: 0
ただし、次のように、アプリケーションでパス スタイルを使用する必要があります。
PUT /a-given-bucket/ HTTP/1.1
Host: s3.amazonaws.com
Date: Thu, 21 Jun 2012 16:27:32 GMT
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Content-Length: 0
Java SDK でパス スタイルを使用することは可能ですか? 陽性の場合、どうすればよいですか?ClientConfiguration および AmazonS3Client クラスを見てきましたが、それを行う方法がありません...
重要な場合、私の SDK のバージョンは 2.0.0v201206151133 です。
ありがとう!
フェルミン
PD。サンプルでは、わかりやすくするために一部のヘッダーが省略されています。
編集: このような機能 (AmazonS3Client で使用される URL パス スタイルを構成する) は、バケットにドット (".") が含まれている場合に非常に役立ちます。Virtual-host-style の HTTPS リクエストは機能しません。これとこれを参照してください。