ErrorSummary

按錯誤代碼匯總錯誤訊息,並統計錯誤日誌條目數量和範例。

JSON 表示法
{
  "errorCode": enum (Code),
  "errorCount": string,
  "errorLogEntries": [
    {
      object (ErrorLogEntry)
    }
  ]
}
欄位
errorCode

enum (Code)

這是必要旗標,標準錯誤代碼。

errorCount

string (int64 format)

這是必要旗標,每errorCode遇到的錯誤數。

errorLogEntries[]

object (ErrorLogEntry)

這是必要旗標,錯誤日誌範例。

程式碼

gRPC API 的標準錯誤代碼。

有時可能適用多個錯誤代碼。服務應傳回最適用的特定錯誤代碼。例如,如果 OUT_OF_RANGEFAILED_PRECONDITION 代碼都適用,則最好使用前者。同樣,優先選擇NOT_FOUNDALREADY_EXISTS而不是FAILED_PRECONDITION

列舉
OK

這不是錯誤;成功時回傳。

HTTP 對應:200 OK

CANCELLED

手術通常被取消,通常是由來電者取消的。

HTTP 對應:499 用戶端已關閉要求

UNKNOWN

發生不明錯誤,例如,從另一個位址空間接收的 Status 值屬於此位址空間中未知的錯誤空間時,可能會傳回此錯誤。由 API 發出但未傳回足夠錯誤資訊的錯誤也可能轉換為此錯誤。

HTTP 對應:500 內部伺服器錯誤

INVALID_ARGUMENT

用戶端指定了無效的引數。請注意,這與 FAILED_PRECONDITION 不同。INVALID_ARGUMENT 表示無論系統狀態如何都會出現問題的參數(例如,格式錯誤的檔案名稱)。

HTTP 對應:400 錯誤的要求

DEADLINE_EXCEEDED

期限於作業完成之前過期。針對變更系統狀態的作業,即使作業已成功完成,也可能傳回此錯誤。例如,來自伺服器的成功回應延遲時間可能已長到足以使期限過期。

HTTP 對應:504 閘道逾時

NOT_FOUND

找不到某些要求的實體 (例如檔案或目錄)。

致伺服器開發人員:如果對整個使用者類別的請求被拒絕,例如逐步推出功能或未記錄的允許列表,則可以使用 NOT_FOUND。如果對某一類使用者中的某些使用者拒絕要求(例如基於使用者的存取控制),則必須使用 PERMISSION_DENIED

HTTP 對應:404 找不到

ALREADY_EXISTS

用戶端嘗試建立的實體 (例如檔案或目錄) 已存在。

HTTP 對應:409 衝突

PERMISSION_DENIED

呼叫者沒有執行指定作業的權限。不得針對因耗用某些資源所導致的拒絕情形使用 PERMISSION_DENIED (請針對這些錯誤改用 RESOURCE_EXHAUSTED)。如果無法辨識呼叫者,則不得使用 PERMISSION_DENIED(對於這些錯誤,請改用 UNAUTHENTICATED)。此錯誤代碼並不表示要求有效,或存在要求的實體,或滿足其他先決條件。

HTTP 對應:403 禁止

UNAUTHENTICATED

要求沒有作業的有效驗證憑證。

HTTP 對應:401 未授權

RESOURCE_EXHAUSTED

已耗盡某些資源,或許是每位使用者的配額,或許是完整檔案系統空間不足。

HTTP 對應:429 太多要求

FAILED_PRECONDITION

作業已遭拒絕,因為系統不在執行作業所需的狀態下。例如,要刪除的目錄還有內容、rmdir 作業套用至非目錄等。

服務實作者可以根據下列指引,決定要使用 FAILED_PRECONDITIONABORTED 還是 UNAVAILABLE:(a) 如果用戶端只能重試失敗的呼叫,請使用 UNAVAILABLE。(b) 如果用戶端應在較高層級重試,請使用 ABORTED。例如,當客戶端指定的測試和設定失敗時,表示客戶端應該重新啟動讀取-修改-寫入序列。 (c) 如果用戶端不應在系統狀態明確修正完畢之前重試,請使用 FAILED_PRECONDITION。舉例來說,如果「rmdir」因目錄不是空白而失敗,則應傳回 FAILED_PRECONDITION,因為用戶端必須等到目錄中的檔案都刪除之後才重試。

HTTP 對應:400 錯誤的要求

ABORTED

作業已取消,通常是因為例如順序器檢查失敗或交易已取消等並行問題所導致。

如要決定採用 FAILED_PRECONDITIONABORTED 還是 UNAVAILABLE,請參閱以上指南。

HTTP 對應:409 衝突

OUT_OF_RANGE

嘗試作業時超過有效範圍,例如搜尋或讀取超過檔案結尾。

INVALID_ARGUMENT 不同,此錯誤表示如果系統狀態變更則可修正的問題。舉例來說,如果要求在 [0, 2^32-1] 範圍以外的偏移量讀取資料,32 位元檔案系統會產生 INVALID_ARGUMENT,但如果要求從超出目前檔案大小的偏移量讀取資料,則會產生 OUT_OF_RANGE

FAILED_PRECONDITIONOUT_OF_RANGE 之間有不少重疊的地方。我們建議您在適用時使用 OUT_OF_RANGE (較為特定的錯誤),這樣在空間中進行迭代作業的呼叫者就可以在完成時輕鬆找到要偵測的 OUT_OF_RANGE 錯誤。

HTTP 對應:400 錯誤的要求

UNIMPLEMENTED

未實作作業或作業在此服務中不受支援/未啟用。

HTTP 對應:501 未實作

INTERNAL

內部錯誤。這表示基礎系統預期的某些不變的情形已被打破。此錯誤代碼保留供嚴重錯誤使用。

HTTP 對應:500 內部伺服器錯誤

UNAVAILABLE

服務目前無法使用,這很可能是一種暫時性問題,可以透過回退重試來解決。請注意,重試非冪等操作並不總是安全的。

如要決定採用 FAILED_PRECONDITIONABORTED 還是 UNAVAILABLE,請參閱以上指南。

HTTP 對應:503 服務不可用

DATA_LOSS

無法復原的資料遺失或損毀。

HTTP 對應:500 內部伺服器錯誤

ErrorLogEntry

描述已發生錯誤的條目。

JSON 表示法
{
  "objectUri": string,
  "errorDetails": [
    string
  ]
}
欄位
objectUri

string

這是必要旗標,僅供輸出。物件 URL,例如 gs://my_bucket/object.txt

errorDetails[]

string

選用。僅供輸出。對於給定的錯誤代碼,一個作業最多會記錄 5 個錯誤日誌條目。