錯誤

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

以下部分分別描述 v2 和 v1 資源方法的錯誤模型。

v2資源錯誤模型

預設情況下,資源方法會回應以 200 狀態 OK。當請求失敗時,Open Cloud 返回標準錯誤代碼。所有錯誤回應的格式相同,包括:

  • code - 代表 HTTP 狀態碼。
  • message - 一個解釋錯誤的訊息。
  • details - 包含更多與錯誤相關的資訊的對象。
範例錯誤

{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}

代碼

下表描述了 code 的可能值。

代碼HTTP 狀態說明
INVALID_ARGUMENT400您傳送了無效的參引數,例如無效的 universeId 。您也可能缺少或無效的標題,例如 Content-LengthContent-Type
PERMISSION_DENIED403您的請求沒有足夠的權限或範圍來執行操作。
NOT_FOUND404系統無法找到指定的資源,例如資料儲存入口。
ABORTED409操作被中止。
RESOURCE_EXHAUSTED429您沒有足夠的額度來執行操作,通常是因為發送了太多請求。
CANCELLED499系統終止請邀請,通常是由於客戶端超時。
INTERNAL500內部伺服器錯誤,通常由伺服器錯誤造成。
NOT_IMPLEMENTED501伺服器未實裝 API 方法。
UNAVAILABLE503服務無法使用,通常在伺服器停止運作時返回。

v1資源錯誤模型

所有錯誤回應都擁有相同、標準格式,包括:

  • 一個 error 欄位,這是一個適用於所有開放雲端端點的高級原因。
  • 一個說明錯誤 message , 進一步解釋錯誤。
  • 一個 errorDetails 物件,涵蓋每個 API 特定的錯誤的更多信息。

要分析錯誤的根本原因,請參考 error 欄位的值和 errorDetails 欄位的值。使用 message 字段作為錯誤處理的補充,因為有時它可能不會覆蓋與 errorDetails 字段相同的細節水平。

範例標準資料儲存錯誤回應

{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}

示例錯誤回應顯示高級Open Cloud 為 、錯誤 為 、以及 專門用於 數據存儲 的 。從回應的 errordatastoreErrorCode 欄位中,您可以理解到您傳送了一個無效的鼠標參數,導致發生錯誤。您可以然後修正鼠標參數來解決問題。

所有命令的數據儲存錯誤回應的格式相同,包括:

範例命名數據儲存錯誤回應

{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}

code 將包含高級錯誤的字串,而 message 將包含與錯誤相關的特定細節

代碼

參考下表的所有高級開放雲錯誤的摘要。

HTTP 狀態碼錯誤說明
400無效_參數您傳送了無效的參引數,例如無效的 universeId 。您也可能缺少或無效的標題,例如 Content-LengthContent-Type
403不足_範圍請求需要比使用存取代幣提供更高的權限。
403許可_已拒絕您的請求沒有足夠的範圍來執行操作。
404未找到系統無法找到指定的資源,例如資料商店 商家存。
409已取消由於衝突,操作被中止,例如發布不屬於宇宙的地點。
429資源_已耗盡您沒有足夠的額度來執行操作,通常是因為發送了太多請求。
499已取消系統終止請邀請,通常是由於客戶端超時。
500內部內部伺服器錯誤。通常是伺服器錯誤。
501未實裝_伺服器未實裝 API 方法。
503無法使用服務無法使用。通常伺服器已停止運作。