gpt4 book ai didi

python - boto3 S3 : get_object error handling

转载 作者:行者123 更新时间:2023-11-28 17:12:10 25 4
gpt4 key购买 nike

使用 Python boto3 从 S3 获取对象时进行错误处理的最佳方法是什么?

我的方法:

from botocore.exceptions import ClientError
import boto3

s3_client = boto3.client('s3')

try:
s3_object = s3_client.get_object("MY_BUCKET", "MY_KEY")
except ClientError, e:
error_code = e.response["Error"]["Code"]
# do error code checks here

我不确定 ClientError 是否是这里使用的最佳异常。我知道有一个 Boto3Error 类,但我认为您不能像 ClientError 那样进行错误代码检查。

最佳答案

我认为你的方法已经足够了。如果您可以将错误缩小到几个,则可以将其分解为 if block ,并进行相应处理。

except ClientError as e:
error_code = e.response["Error"]["Code"]
if error_code == "AccessDenied":
# do code
elif error_code == "InvalidLocationConstraint":
# do more code

这只是一种实验方法。因为大多数错误响应都是 API 驱动的,所以我认为您不会直接在代码中的任何地方找到它们(即:执行 except AccessDenied:)。你可以找到所有 error responses for Amazon S3 here.

关于python - boto3 S3 : get_object error handling,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46858874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com