boto s3 python库异常

时间:2019-03-21 07:37:05

标签: python amazon-s3 boto

我正在尝试删除特定存储桶中的密钥,如果密钥已成功删除,则只想执行下一步,否则请在S3中重试删除。

from boto.s3.connection import S3Connection, Bucket, Key
bucket = 'test-bucket'
object = Key(bucket=bucket, name='xyxabc')

# delete the object from the S3
object.delete()

boto库是否提供可用于验证object.delete()调用的任何异常(我没有找到)?

1 个答案:

答案 0 :(得分:1)

简短答案

如果来自S3的任何错误响应,

boto.s3.key.Key.delete()会引发boto.exception.S3ResponseError

也就是说,您应该检查是哪个错误(如果出现)。可以是S3 error responses中的任何一个。

更多详细信息

boto.s3.key.Key.delete()只会调用boto.s3.bucket.Bucket.delete_key()

似乎boto.s3.bucket.Bucket.delete_key()在内部检查来自S3的响应,如果它不是HTTP 204 NoContent响应,它将从其提供者boto.exception.S3ResponseError引发storage_response_error