Файлы, загруженные в Amazon S3 размером менее 5 ГБ, имеют ETag, который представляет собой просто MD5-хеш файла, что позволяет легко проверить, совпадают ли ваши локальные файлы с тем, что вы положили на S3.
Но если ваш файл больше 5 ГБ, то Amazon вычисляет ETag по-другому.
Например, я выполнил многократную загрузку файла размером 5 970 150 664 байта в 380 частях. Теперь S3 показывает, что ETag имеет значение 6bcf86bed8807b8e78f0fc6e0a53079d-380
. Мой локальный файл имеет хэш md5 702242d3703818ddefe6bf7da2bed757
. Я думаю, что число после тире - это количество частей в многочастной загрузке.
Я также подозреваю, что новый ETag (до тире) по-прежнему является хешем MD5, но с некоторыми метаданными, включенными по пути из многоэтапной загрузки.
Кто-нибудь знает, как вычислить ETag, используя тот же алгоритм, что и Amazon S3?