次のセクションでは、v2 と v1 のリソースメソッドのエラーモデルを説明しています。
v2 リソースエラーモデル
デフォルトで、リソースメソッ状況は 200 オーケーステータスで応答します。リクエストが失敗した場合、Open Cloud は標準のエラーコードを返します。すべてのエラーの応答は、次の形式を含みます:
- code - HTTP ステータスコードを表示します。
- message - エラーを説明するメッセージ。
- details - エラーに関する情報の詳細を含むオブジェクト。
エラーの例
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
コード
次の表では、code の可能な値について説明しています。
コード | HTTPステータス | 説明 |
---|---|---|
INVALID_ARGUMENT | 400 | 無効な引数、例えば無効な universeId をパスしました。あなたはまた、 Content-Length および Content-Type などの欠落したまたは無効なヘッダーを持つ可能性があります。 |
PERMISSION_DENIED | 403 | あなたのリクエストには、オペレーションを実行するのに十分な権限またはスコープがありません。 |
NOT_FOUND | 404 | データストアのエントリなど、指定されたリソースが見つかりません。 |
ABORTED | 409 | オペレーションは中止されました。 |
RESOURCE_EXHAUSTED | 429 | オペレーションを実行するのに十分なクエートがない場合は、通常、リクエストを送信するためにすぎるようになっています。 |
CANCELLED | 499 | システムは通常、クライアント側の時間切れによりリクエストを終了します。 |
INTERNAL | 500 | サーバーエラーは、通常はサーバーバグによるものです。 |
NOT_IMPLEMENTED | 501エラー | サーバーは API メソッドを実装していません。 |
UNAVAILABLE | 503 | サービスは利用できません。通常、サーバーがダウンすると返されます。 |
v1 リソースエラーモデル
すべてのエラーの返信には、同じ、標準的な形式が含まれています。これには以下が含まれます:
- すべてのオープンクラウドエンドポイントに適用できる高度な原因の error フィールド。
- 説明的なエラー message 、これはエラーをさらに説明します。
- errorDetails オブジェクト、各 API に対応するエラーの詳細をカバーします。
エラーのルート原因を分析するには、error フィールドの値と errorDetails フィールドを参照してください。message フィールドをエラー処理の補助として使用することを、2>1> ErrorDetails1> フィールド2> としての4>エラー処理4>、
データストアエラーの例
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
エラーの詳細は、error 以下のコーナーに示されています:
すべての注文されたデータストアのエラー返信には、同じ形式が含まれています。これには、次の内容が含まれます:
データストアの注文エラーに対する応答
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
The code は、高度なエラーのストリングを含み、The message は、エラーに関連する特定の詳細を含みます
コード
以下の表に参照して、すべての高度なオープンクラウドエラーの概要をまとめます。
HTTP ステータスコード | エラー | 説明 |
---|---|---|
400 | 無効な引数 | 無効な引数、例えば無効な universeId をパスしました。あなたはまた、 Content-Length および Content-Type などの欠落したまたは無効なヘッダーを持つ可能性があります。 |
403 | INSUFFICIENT_SCOPE | リクエストには、アクセストークンによって提供されているより高い特権を必要とします。 |
403 | PERMISSION_DENIED | あなたのリクエストは、オペレーションを実行するのに十分なスコープを持っていません。 |
404 | NOT_FOUND | データストアなど、指保管されたリソースをシステムが見つけられません。 |
409 | 中止 | ユニバースではない場所を公開など、オペレーションが中止されました。 |
429 | 資源_エクスハウスト | オペレーションを実行するのに十分なクエートがない場合は、通常、リクエストを送信するためにすぎるようになっています。 |
499 | キャンセル | システムは通常、クライアント側の時間切れによりリクエストを終了します。 |
500 | 内部 | 内部サーバーエラー。通常、サーバーバグです。 |
501エラー | 実装されていません | サーバーは API メソッドを実装していません。 |
503 | 使用不可 | サービスは利用できません。通常、サーバーはダウンです。 |