Package google.rpc

目次

ステータス

Status 型は、REST API や RPC API など、さまざまなプログラミング環境に適した論理エラーモデルを定義します。gRPC により使用されます。エラーモデルは次の属性を付与するように設計されています。

  • 多くのユーザーにとって使いやすく、わかりやすいこと。
  • 柔軟で予期しないニーズに対応できる。

概要

Status メッセージには、エラーコード、エラー メッセージ、エラーの詳細の 3 種類のデータが含まれます。エラーコードは、google.rpc.Code の列挙値であることが必要ですが、必要に応じて追加のエラーコードを受け入れることもできます。エラー メッセージは、デベロッパーがエラーを理解して解決できるよう、デベロッパー向けの英語によるメッセージにする必要があります。understandunderstandユーザー向けのローカライズされたエラー メッセージが必要な場合は、エラーの詳細にローカライズされたメッセージを入れるか、クライアントでローカライズします。オプションのエラーの詳細には、エラーに関する任意の情報を含めることができます。パッケージ google.rpc には、一般的なエラー条件に使用できる事前定義されたエラー詳細タイプのセットがあります。

言語マッピング

Status メッセージはエラーモデルの論理表現ですが、必ずしも実際の送信形式ではありません。Status メッセージが別のクライアント ライブラリと別のワイヤ プロトコルで公開されている場合は、異なる方法でマッピングできます。たとえば、Java では例外にマッピングされるものが、C ではエラーコードにマッピングされる可能性が高くなります。

他の使用例

エラーモデルと Status メッセージは、API の有無にかかわらず、さまざまな環境で使用でき、異なる環境で一貫したデベロッパー エクスペリエンスを提供します。

このエラーモデルの使用例には、次のようなものがあります。

  • 部分的エラー。サービスがクライアントに部分的なエラーを返す必要がある場合は、部分的なエラーを示すために通常のレスポンスに Status を埋め込むことができます。

  • ワークフロー エラー。通常のワークフローには複数のステップがあります。各ステップに、エラー報告用の Status メッセージを含めることができます。

  • 一括オペレーション。クライアントで一括リクエストと一括レスポンスを使用する場合は、各エラーのサブレスポンスに 1 つずつ、一括レスポンスの中で Status メッセージを直接使用する必要があります。

  • 非同期操作。API 呼び出しでレスポンスに非同期オペレーションの結果を埋め込む場合、オペレーションのステータスは Status メッセージを使用して直接表す必要があります。

  • Logging です。いくつかの API エラーがログに保存されている場合は、セキュリティまたはプライバシー上の理由で必要な除去を行った後に、メッセージ Status を直接使用できます。

フィールド
code

int32

ステータス コード。google.rpc.Code の列挙値になります。

message

string

デベロッパー向けのエラー メッセージ。英語で記述します。ユーザー向けのエラー メッセージは、ローカライズして google.rpc.Status.details フィールドで送信するか、クライアントでローカライズする必要があります。

details[]

Any

エラーの詳細を保持するメッセージのリスト。API が使用する共通のメッセージ タイプのセットがあります。