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

Amazon S3 и контрольная сумма

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

В заголовках файлов есть "E-tag", но я думаю, что это не контрольная сумма md5.

Итак, как я могу проверить, является ли файл, который я загрузил на Amazon S3, тот же, что у меня на моем компьютере?

Спасибо.:)

4b9b3361

Ответ 1

Если вы используете REST API для загрузки объекта (до 5 ГБ) за одну операцию, вы можете добавить заголовок Content-MD5 в PUT запрос. Согласно документации S3 для PUT, заголовок Content-MD5:

base64 128-разрядный MD5 дайджест сообщения (без заголовков) в соответствии с RFC 1864. Этот заголовок может использоваться как проверка целостности сообщения, чтобы убедиться, что данные являются одними и теми же данными который был первоначально отправлен. Хотя это необязательно, мы рекомендуем использовать механизм Content-MD5 в качестве сквозной проверки целостности.

Отметьте этот ответ о том, как вычислить 128-битный MD5-код ​​с кодировкой base64. Если вы используете s3curl, вы можете включить вычисляемый дайджест в заголовки запроса с помощью параметра - contentMd5.

Если сборник md5, вычисленный Amazon после завершения загрузки, не соответствует дайджесту md5, который вы предоставили в заголовке Content-MD5, Amazon ответит кодом ошибки BadDigest.

Если вы используете многостраничную загрузку, заголовок Content-MD5 служит для проверки целостности каждой части отдельно. После завершения многостраничной загрузки Amazon в настоящее время не предоставляет способ проверить целостность собранного файла.