5

現在、Java API で S3 を使用して、オブジェクトとそのコンテンツを取得しています。AWS コンソールを使用して Cloudfront ディストリビューションを作成し、オブジェクトを含む S3 バケットを Bucket-origin として設定しました。しかし、ダウンロードのパフォーマンスが向上していることに気付きませんでした。コンソール ウィンドウで、URL が s3 を参照していることに気付きました。

情報: リクエストの送信: GET https://mybucket.s3.amazonaws.com /picture.jpg ヘッダー: (範囲: バイト = 5001-1049479、コンテンツ タイプ: application/x-www-form-urlencoded; charset=utf- 8, )

一方、Cloudfront の入門ガイドでは、URL は次のようになります。

http://(ドメイン名)/picture.jpg

ここで、(ドメイン名) は Cloudfront ディストリビューションに固有です。そのため、Java API はクラウドフロント経由ではなく、S3 からファイルを取得しています。

S3 用の Java API を使用して、Cloudfront 経由でファイルをダウンロードする方法はありますか? そうでない場合、Java プログラムでクラウドフロント経由でオブジェクトを取得するために使用する最善の方法は何ですか? 私はまだこのようなものに慣れていないので、どんな助けでも大歓迎です!

4

2 に答える 2

2

Java API for S3 は、Cloudfront との対話には使用できません。

クラウド フロント ディストリビューションを介してコンテンツをダウンロードする場合は、独自の HTTP コードを記述する必要があります (これは単純なはずです)。また、ブラウザでhttp://(クラウドフロント ドメイン名)/picture.jpg を使用して、最初にダウンロード速度を確認することもできます。

于 2012-04-14T09:27:29.390 に答える
0
URL url = new URL(your_cloudfront_url);
InputStream in = url.openStream();

ただし、S3 の変更が有効になるまでに 24 時間以上かかる場合があることを知っておく必要があります。ストリームを開くことができない場合、別の方法はgetObject(bucketName, key)メソッドを使用することです。

于 2012-09-21T10:27:40.057 に答える