エラー

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

次のセクションでは、それぞれ 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 、これはエラーをさらに説明します。
  • 各APIに特有のエラーの詳細をカバーする errorDetails オブジェクト。

エラーの根本原因を分析するには、error フィールドと errorDetails フィールドの値を参照してください。 フィールドを使用して、エラー処理の補助として、時々 フィールドと同じレベルの詳細をカバーしない可能性があるためです。

標準データストアのエラー応答の例

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

例のエラー応答は、高レベルのオープンクラウド errorINVALID_ARGUMENT 、エラー messageInvalidCursor 、そして errorDetails 特定のデータストア datastoreErrorCodeInvalidCursor として示します。応答の error および datastoreErrorCode フィールドから、エラーを引き起こした無効なカーソルパラメータを通過したことを理解できます。その後、カーソルパラメータを修正して問題を解決できます。

注文されたすべてのデータストアのエラー応答には、次の形式が含まれています:

データストアの順番付けエラー応答の例

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

The code には高レベルのエラーのストリングが含まれ、The message にはエラーに関連する特定の詳細が含まれます

コード

次の表を参照して、すべての高レベルのオープンクラウドエラーの概要をまとめます。

HTTPステータスコードエラー説明
400無効な引数 INVALID_ARGUMENT無効な引数 (無効な universeId など) を通過しました。また、Content-LengthContent-Type などのヘッダーが欠落しているかもしれません。
403不十分なスコープ INSUFFICIENT_SCOPEリクエストはアクセストークンで提供されたより高い権限を必要とします。
403許可_拒否リクエストには、操作を実行するのに十分な範囲がありません。
404NOT_FOUNDシステムは、データストアなどの指保管されたリソースを見つけられません。
409中止されました宇宙の一部でない場所を公開するなどの理由により、操作が中断されました。
429リソース_疲れた通常、操作を実行するのに十分なクオータがなく、リクエストが多すぎるためです。
499キャンセルされたシステムはリクエストを終了し、通常はクライアント側の期限切れによるものです。
500内部内部サーバーエラー。通常はサーバーバグです。
501実装されていない NOT_IMPLEMENTEDサーバーは API メソッドを実装していません。
503使用できませんサービスが利用できません。通常、サーバーがダウンしています。