Как передать контрольную сумму 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'}})