Google Cloud Storage 可透過 App Engine UrlFetch
功能來存取,因此可能會出現下列三種錯誤來源:
- 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。