Spanner 錯誤代碼

本頁說明 Spanner 錯誤代碼,以及處理這些錯誤的建議做法。Google API (包括 Spanner) 會使用 google.rpc.Code 定義的標準錯誤代碼。

Spanner 要求若成功,API 會在回應主體中傳回 HTTP 200 OK 狀態碼及所要求的資料。

若要求失敗,Spanner API 會傳回 HTTP 4xx5xx 狀態碼,此狀態碼通常能識別失敗,也能識別回應,此回應針對導致失敗的錯誤提供更多具體資訊。

回應物件包含單一欄位 error,此欄位的值含以下元素:

元素 說明
code HTTP 狀態碼,通常用於識別要求失敗情形。
message 要求失敗的相關具體資訊。
status Google API 的標準化錯誤代碼 (google.rpc.Code)。Spanner API 可能會傳回的代碼列於錯誤代碼一節中。

application/x-protobuf 內容類型提出的要求若發生錯誤,會傳回一則序列化的 google.rpc.Status 訊息做為酬載。

錯誤代碼

如要分類錯誤,建議檢查標準化錯誤代碼 (google.rpc.Code) 的值。在 JSON 錯誤中,此代碼會出現在 status 欄位。在 application/x-protobuf 錯誤中,則出現在 code 欄位。

錯誤代碼 說明 建議做法
ABORTED 作業已取消,原因通常是排序器檢查失敗或交易取消等並行問題。表示該項要求與另一項要求衝突。

如要進一步瞭解 Database schema has changed 錯誤,請參閱「資料庫結構定義已變更」錯誤。
非交易型修訂: