Как передать контрольную сумму MD5 в качестве параметра, используя Transfer.upload_file()?

Я хочу передать предварительно вычисленную контрольную сумму md5 файла в качестве параметра [Boto3], чтобы s3 проверял его собственный вычисленный md5/etag и сбрасывал, если md5 не совпадает. (Я знаю, что в multipart etag нет md5). Есть ли способ сделать это с (s3transfer) Transfer.upload_file()? Или любой другой способ сделать это? Пожалуйста, укажите мне в правильном направлении. Спасибо

1 ответ

Решение

Вы можете только хранить md5 в метаданных и использовать его как подтверждение, как описано здесь, чтобы использовать md5 как подтверждение, это возможно только с использованием put_object

S3-трансфер позволяет сохранять метаданные, но без возможности проверки.

transfer.upload_file('/tmp/myfile', 'bucket', 'key',
                     extra_args={'Metadata': {'a': 'b', 'c': 'd'}})
Другие вопросы по тегам