2017-01-31 6 views
0

Вот пример, который я пытаюсь понять под механизмом капота.Действительно ли S3 multipart upload создает несколько объектов в моем ковше?

Я решил загрузить файл размером 2 ГБ на мой ведро S3, и я решил использовать размер 128 МБ для частей. Тогда у меня будет

(2 * 1024)/128 => 16 parts 

Вот мои вопросы:

  • я буду видеть объекты 16 128Mb в моем ведре или одного объекта 2GB в моем ведре?

  • Как S3 может понять порядок деталей (1-> 2 -> ...-> 16) и собрать их в один файл объемом 2 ГБ при загрузке их обратно? Есть там дополнительный объект «meta» (см. Вышеупомянутый вопрос), который мне нужно сначала загрузить, чтобы помочь клиенту достичь этой необходимой информации, необходимой для сборки?

  • Когда клиент s3 загружает приведенное выше параллельно, в какое время он записывает дескриптор файла для этого 2GB-файла в локальной файловой системе (я предполагаю, что он не знает всю необходимую информацию до того, как все части были загружены)?

ответ

1

При загрузке отдельных частей, будет несколько загрузки хранятся в Amazon S3, которые можно просматривать с помощью команды ListMultipartUploads.

При заполнении многостраничной загрузки командой CompleteMultipartUpload вы должны указать список отдельных деталей, загруженных в правильном порядке. Затем загружаемые файлы будут объединены в один объект .

Загрузка зависит от используемого вами клиента/кода - вы можете загрузить объект параллельно или просто однопоточно.