2014-02-13 2 views
4

У меня есть файл с предварительно подписанным URL. Я хотел бы загрузить этот файл непосредственно в мой ведро S3, не загружая его сначала (я знаю, как это сделать с промежуточным шагом, но я хочу его предотвратить).Импорт данных из URL в Amazon S3

Любое предложение? Заранее спасибо

+0

Я считаю, что этот вопрос является дубликатом, но в данный момент я не могу перенести палец на дубликат, поэтому ответ ниже. –

+1

@ Michael-sqlbot Следующим может быть дубликат, о котором вы думаете, но я думаю, что текущий вопрос и ваш ответ более четко освещают тему. http://stackoverflow.com/questions/7586533/is-it-possible-to-upload-to-s3-directly-from-url-using-post/ –

ответ

3

Существует не метод, поддерживаемый S3, который выполнит то, что вы пытаетесь сделать.

S3 не поддерживает тип запроса, который говорит, по существу, «перейдите к этому URL-адресу и все, что вы получите оттуда, сохраните его в моем ковше под следующим ключом».

Единственный вариант здесь - получить то, что вы хотите, а затем загрузить его. Если объекты большие, и вы не хотите выделять необходимое дисковое пространство, вы можете получить его по частям от источника и загрузить его по частям с помощью многостраничной загрузки ... или если вы пытаетесь сохранить пропускную способность где-нибудь, даже очень маленький экземпляр t1.micro, расположенный в том же регионе, что и ведро S3, вероятно, даст вам очень приемлемую производительность для выполнения операции выборки и загрузки.


Единственное исключение из этого правила, где вы копируете объект из S3, S3, и объект находится под 5 ГБ. В этом случае, вы посылаете PUT запрос на целевой ведро, сопровождающееся:

x-amz-copy-source: /source_bucket/source_object_key 

Это не совсем «URL», и я предполагаю, что вы не означает, что копирование из ведра в ведро, где у вас есть оба ведра, или вы бы попросили это более прямо ... но это единственное, что S3 имеет то, что похоже на поведение, которое вы ищете вообще.

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html

Вы не можете использовать подписанный URL здесь ... учетные данные, используемые для отправки PUT запроса должны иметь разрешения как принести и магазин.

+0

Спасибо за ответ. я весьма признателен – desmo

Смежные вопросы