
Я рассматривал возможность записи MD5sum в объект после его загрузки в AWS S3 и выполнения проверки целостности данных, как описано здесь:
https://aws.amazon.com/premiumsupport/knowledge-center/data-integrity-s3/
Например, вы загрузили 100 000 объектов в контейнер AWS S3 и хотите запустить MD5 для проверки целостности данных, есть ли за это дополнительная плата? Увеличивает ли это количество запросов на PUT, LIST и т. д.?
решение1
Предыстория - Добавление метаданных
Вы можете задать метаданные только во время загрузки объекта (Ссылка на Амазон, см. скопированный текст ниже). Если вы хотите добавить метаданные к существующему объекту, вам необходимосделать копию объекта, удалив старую версию.
Каждый объект Amazon S3 имеет данные, ключ и метаданные. Ключ объекта (или имя ключа) однозначно идентифицирует объект в корзине. Метаданные объекта представляют собой набор пар имя-значение. Вы можете задать метаданные объекта во время его загрузки. После загрузки объекта вы не можете изменять метаданные объекта. Единственный способ изменить метаданные объекта — сделать копию объекта и задать метаданные.
Поскольку настройка метаданных является частью запроса PUT, дополнительная плата за это не взимается, поскольку онивзимается за запроса не по объему данных.
Поддерживаемый AWS метод проверки загруженных данных
AWS поддерживает проверку MD5 данных, загруженных в S3, которая описана ниже.здесь, а также вДокументация S3API PUT. Короче говоря, вы:
- Рассчитайте MD5 локально
- Включите MD5 в запрос на загрузку, который AWS проверит для вас.
- При желании вы можете включить MD5 в качестве метаданных в загружаемый файл.
Если объект не проходит контрольную сумму MD5, ответ от S3 содержит ошибку.
Расходы на проверку AWS MD5
На странице с ценами S3 не указана стоимость проверки MD5, поэтому единственный ответ, который я могу вам дать, — «нет, она не взимается».