2011-01-25 26 views
14

Amazon S3が巨大ファイルのマルチパートアップロードを追加したことを知っています。それは素晴らしいことです。私にも必要なのは、ギガバイトプラスファイルをダウンロードしてエラーが発生した顧客のクライアント側の同様の機能です。Amazon S3から巨大ファイルのダウンロードが必要

ブラウザにはある程度の再試行と再開機能が組み込まれていますが、巨大なファイルについては、エラーの種類にかかわらず中断した部分を取り上げたいと思っています。

アイデア?あなたが独自のソリューションを構築したい場合は

おかげで、 ブライアン

+0

を使用してダウンロードされます。主な問題は、あなたがデータの範囲を求めるときに、Amazonがコンテンツを生成しないことです。したがって、ファイルを部分的にダウンロードしている場合は、ダウンロードしたファイルのMD5を計算し、その範囲に同じハッシュがあればAmazonに依頼し、Amazonのファイルの残りを追加するだけです。そのようなAPIはありません(「Amazonの場合、S3のファイルにこの範囲のバイト数のMD5を渡してください」、AFAIK :-( – kenyee

+3

こんにちはブライアン。あなたの質問に答えることができたら、正しい答えを選ぶことができますか?ページに来て、同じヘルプを探している他の人に役立ちます。 – rICh

答えて

10

S3は、標準のHTTP「範囲」ヘッダーをサポートしています。私はaria2cを使用

S3 Getting Objects

+1

Java API:http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/GetObjectRequest.html# setRange(long、%20long) –

2

。プライベートコンテンツの場合、 "GetPreSignedUrlRequest"を使用してaria2cに渡すことができるプライベートURLを生成することができます。

0

注:Rubyの利用者についてのみ

はルビーからaws-sdk宝石を試してみて、そしてそれは、デフォルトでマルチパートで大きなファイルをダウンロードしているので

object = AWS::S3::Object.new(...) 
object.download_file('path/to/file.rb') 

をダウンロードしてください。 5メガバイトより

ファイルに大きいが、私は運O/WサンプルコードまたはSDKのドキュメントのいくつかの有用なビットを探してきたマルチパートの方法に

http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Object.html#download_file-instance_method

+0

Javaについてはどうですか? –

関連する問題