Подтвердить что ты не робот

Aws s3 - s3cmd: "ПРЕДУПРЕЖДЕНИЕ: подписи MD5 не совпадают" - что делать?

Когда я использую s3cmd для выталкивания файлов (из не необоснованного размера - менее 100 мегабайт), я иногда вижу эту ошибку: ПРЕДУПРЕЖДЕНИЕ: Подписи MD5 не совпадают: вычислено = BLAH, получено = "NOT-BLAH"

Googling предполагает, что это может быть вызвано файлами S3 сегментов. Другие говорили, что игнорируют это.

Кто-нибудь знает, почему это происходит и что нужно делать?

Спасибо за ваше время, - Генри

4b9b3361

Ответ 1

Взглянув на это глубже, кажется, что s3cmd читает неправильную сумму md5 от Amazon. Похоже, что s3cmd получает свою сумму из поля ETAG. Сравнивая фактические данные объекта, который был PUT с объектом, который был GET'ed, содержимое идентично, и эту ошибку можно безопасно игнорировать.

Ответ 2

ETag файла в S3 не будет соответствовать MD5, если файл был загружен как "Multipart". Когда файл отмечен multipart AWS будет хэш каждой части, объедините результаты и затем хэш это значение.

Если файл фактически не имеет нескольких частей, результатом будет хэш хэша с добавленным -1 до конца. Попробуйте отключить multipart в инструменте, который вы используете для загрузки файлов на S3. Для s3cmd параметр --disable-multipart.

Ответ 3

Ожидаются ETags с '-' в них, если файл был загружен с использованием функции загрузки многостраничных файлов S3 (обычно используется для файлов > 15 МБ или файлов, считанных из stdin). s3cmd 1.5.2 это знает и игнорирует такие ETags. Если ваш s3cmd старше 1.5.2, обновите его.

Ответ 4

Это большая проблема, так как вы используете s3cmd sync, потому что это заставляет его повторно загружать ранее синхронизированные файлы. Чтобы решить эту проблему, добавьте параметр --no-check-md5, который заставляет s3cmd проверять размеры файлов только для определения измененных файлов (это полезно для моих целей, но, вероятно, не для всех, в зависимости от приложения).

Ответ 5

Я видел сообщения около часа назад о том, что S3 в настоящее время имеет именно эту проблему, например. этот твит:

RT @drags: @ylastic S3 возвращает неверные md5s в s3cmd. Никогда не видел md5 с "-" в нем до AWS. #AWS # S3

Хотя Страница статуса AWS не сообщает об ошибке, я ожидаю, что это временная проблема. Повторите попытку в ближайшее время: -)