使用 App Engine 的 UrlFetch
功能,您可以访问 Google Cloud Storage。因此,可能存在的错误有三种:
- App Engine UrlFetch 暂时性错误。
- Google Cloud Storage 暂时性错误。
- 与存储分区和对象授权相关的 Google Cloud Storage 错误。
适用于 Cloud Storage 的 App Engine 客户端库会自动处理 App Engine 端和 Google Cloud Storage 端的超时错误并执行重试,因此您无需为应用添加逻辑来处理此问题。您可以通过 RetryParams 类公开超时和重试机制的配置,该类可用于更改任意或全部默认设置。通过该函数的 retry_params
参数,您可以将更改应用于所有函数调用或为特定调用指定更改。
错误
适用于 Cloud Storage 的 App Engine 客户端库定义了以下错误异常类:
- cloudstorage.Error
-
此包中所有异常的基类。错误既可能产生自 App Engine ,也可能产生自 Google Cloud Storage。如需详细了解来自 Google Cloud Storage 的 HTTP 错误代码,请参阅 Google Cloud Storage 文档中的 HTTP 状态和错误代码。
- cloudstorage.AuthorizationError
- Google Cloud Storage 收到未经授权的请求。如果已获授权的应用使用的访问令牌已过期,则会发生此错误。通常,此错误会在适用于 Cloud Storage 的 App Engine 客户端库中自动处理,该客户端库会获取新的访问令牌并重试请求。
- cloudstorage.ForbiddenError
此错误 (403) 表示用户未获得 Google Cloud Storage 的授权,无法发出请求。
- Google Cloud Storage 错误文档的 403-Forbidden 部分列出了此错误的各种可能原因。
- 此错误的常见原因是存储分区权限(存储分区 ACL)设置不正确,无法允许应用访问。如需了解如何设置访问权限,请参阅 Google Cloud Storage 身份验证。
- cloudstorage.NotFoundError
- HTTP 错误 404。该错误表示您在对
cloudstorage.delete()
、cloudstorage.listbucket()
、cloudstorage.open()
或cloudstorage.stat()
的调用中指定的存储分区或对象不存在。 - cloudstorage.TimeoutError
- 如果尝试连接 Google Cloud Storage 服务器超时,重试后仍失败,则会引发此错误。如需了解如何更改默认超时处理和重试,请参阅 RetryParams。