Сравнение распаковало локальные файлы к сжатым файлам, хранившим на Amazon S3?

Мы помещаем сотни файлов изображений в Amazon S3, который наши пользователи должны синхронизировать со своими локальными каталогами. Для сохранения пространства памяти и пропускной способности, мы архивируем файлы, хранившие на S3.

На конце пользователя у них есть сценарий Python, который выполняет каждые 5 минут, чтобы получить текущий список файлов и загрузить новые/обновленные файлы.

Мой вопрос - то, что лучший способ, определяют то, что является новым или изменяется на загрузку?

В настоящее время мы добавляем дополнительный заголовок, который мы помещаем со сжатым файлом, который содержит значение MD5 несжатого файла...

Мы запускаем с файла как это:

image_file_1.tif   17MB    MD5 = xxxx1234

Мы сжимаем его (с 7zip) и помещаем его в S3 (с Python/Boto):

image_file_1.tif.z  9MB    MD5 = yyy3456    x-amz-meta-uncompressedmd5 = xxxx1234

Проблемы, мы не можем получить большой список файлов от S3, которые включают x-amz-meta-uncompressedmd5 заголовок без дополнительного API для Каждого (МЕДЛЕННЫЙ для сотен/тысяч файлов).

Наше наиболее практическое решение, сделали, чтобы пользователи получили полный список файлов (без дополнительных заголовков), загрузили файлы, которые не существуют локально. Если это действительно существует локально, то сделайте и дополнительный вызов API, чтобы заставить полные заголовки сравнивать локальную контрольную сумму MD5 с x-amz-meta-uncompressedmd5.

Я думаю, что должен быть лучший путь.

1
задан RP. 24 June 2010 в 18:00
поделиться