我正在尝试删除特定存储桶中的密钥,如果密钥已成功删除,则只想执行下一步,否则在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()调用的异常(我没有找到)?
发布于 2019-03-21 16:41:56
简短的回答
如果有来自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响应,它会从它的提供者引发一个storage_response_error,这是一个boto.exception.S3ResponseError。
https://stackoverflow.com/questions/55275662
复制相似问题