2011-01-25 16 views
14

Wiem, że Amazon S3 dodał wieloczęściowy upload dla ogromnych plików. To wspaniale. Potrzebuję również podobnej funkcjonalności po stronie klienta dla klientów, którzy w jakiś sposób pobierają gigabajt plus plik i mają błędy.Potrzebuję Multi-Part DOWNLOADS z Amazon S3 dla ogromnych plików

Zdaję sobie sprawę, że przeglądarki mają pewien poziom ponownej próby wznowienia i wznowienia, ale gdy mówimy o wielkich plikach, chciałbym móc wybrać miejsce, w którym je przerwano, bez względu na rodzaj błędu.

Wszelkie pomysły?

Dzięki Brian

+0

Szukałem jakiegoś użytecznego odrobiną przykładowy kod lub dokumentacji SDK W/O odrobinie szczęścia. Głównym problemem jest to, że Amazon nie generuje contentMD5, gdy pytasz o zakres danych. Jeśli więc plik jest częściowo pobrany, to co naprawdę chcesz zrobić, to obliczyć MD5 z pobranego pliku, a następnie zapytaj Amazon, czy ten zakres bajtów ma taki sam skrót, abyś mógł dołożyć resztę pliku z Amazon. Nie ma takiego API dla ("hej Amazon, daj mi MD5 dla tego zakresu bajtów w pliku na S3" istnieje AFAIK :-( – kenyee

+3

Witaj Brian.Jeśli udało ci się uzyskać odpowiedź na pytanie, czy możesz wybrać poprawną odpowiedź? Pomaga innym osobom, które przychodzą na tę stronę, szukając tej samej pomocy – rICh

Odpowiedz

10

S3 obsługuje standard HTTP "zasięg" nagłówek, jeśli chcesz zbudować swoje własne rozwiązanie.

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

używam aria2c. W przypadku treści prywatnych można użyć "GetPreSignedUrlRequest" w celu wygenerowania tymczasowych prywatnych adresów URL, które można przekazać do aria2c