Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Boto是否对失败的md5检查重试?_Python_Amazon S3_Boto - Fatal编程技术网

Python Boto是否对失败的md5检查重试?

Python Boto是否对失败的md5检查重试?,python,amazon-s3,boto,Python,Amazon S3,Boto,boto配置有一个用于上传的num\u retries参数 重试次数 重试对AWS服务器的失败请求的次数。如果波托 收到来自AWS的错误,它将尝试恢复并重试 要求默认重试次数为5次,但您可以更改 默认使用此选项 我的理解是,此参数控制从\u string重试set\u content\u等命令的次数。根据文档,如果上传时md5校验和不匹配,相同的命令将失败。我的问题是,boto是否也会在校验和失败时重试,还是将num\u retry应用于单独的故障类别?当boto将文件上载到S3时,它会在本地计

boto配置有一个用于上传的
num\u retries
参数

重试次数

重试对AWS服务器的失败请求的次数。如果波托 收到来自AWS的错误,它将尝试恢复并重试 要求默认重试次数为5次,但您可以更改 默认使用此选项


我的理解是,此参数控制从\u string重试
set\u content\u等命令的次数。根据文档,如果上传时md5校验和不匹配,相同的命令将失败。我的问题是,boto是否也会在校验和失败时重试,还是将
num\u retry
应用于单独的故障类别?

当boto将文件上载到S3时,它会在本地计算MD5校验和,将该校验和作为
Content-MD5
头发送到S3,然后根据先前计算的MD5校验和检查S3服务返回的
ETag
头的值。如果
ETag
标题与MD5不匹配,则会引发
S3DataError
异常。此异常是
ClientError
的子类,boto不会重试客户端错误

如果我们提供的
Content-MD5
头与服务计算的MD5校验和不匹配,则S3服务也可能返回
BadDigest
错误。这是来自S3的400响应,也被视为客户端错误,不会重试