Method: projects.locations.endpoints.queryData

台帳に保存されているアカウントやトランザクションなどの情報をネットワークにクエリします。

アカウント残高など、特定の機密フィールドへのアクセスは、リクエストの署名から派生した送信者の ID に基づいて制限される場合があります。送信者に権限がない場合、機密フィールドはレスポンスから削除され、redactedFields フィールドに報告されます。

HTTP リクエスト


POST https://universalledger.googleapis.com/v1/{endpoint=projects/*/locations/*/endpoints/*}:queryData

この URL は gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
endpoint

string

必須。リクエストを処理するエンドポイント。形式: projects/{project}/locations/{location}/endpoints/{endpoint} ロケーションはリージョンです。

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "serializedSignedQueryRequest": string
}
フィールド
serializedSignedQueryRequest

string (bytes format)

必須。Universal Ledger ネットワークにクエリする protobuf シリアル化された SignedQueryRequest

Base64 でエンコードされた文字列。

レスポンスの本文

endpoints.queryData のレスポンス メッセージ。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

JSON 表現
{
  "redactedFields": [
    {
      object (RedactedField)
    }
  ],

  // Union field kind can be only one of the following:
  "account": {
    object (Account)
  },
  "transactionState": {
    object (TransactionState)
  }
  // End of list of possible types for union field kind.
}
フィールド
redactedFields[]

object (RedactedField)

権限の制限によりレスポンスから削除されたフィールドを示します。

共用体フィールド kind。クエリ固有の結果。kind は次のいずれかになります。
account

object (Account)

クエリがアカウントに対するものであった場合のアカウント情報。

transactionState

object (TransactionState)

クエリがトランザクションに対するものであった場合のトランザクションの状態。

認可スコープ

次の OAuth スコープが必要です。

  • https://www.googleapis.com/auth/cloud-platform

詳細については、 Authentication Overviewをご覧ください。

TransactionState

トランザクションの状態。

JSON 表現
{
  "transactionAttempts": [
    {
      object (TransactionAttempt)
    }
  ]
}
フィールド
transactionAttempts[]

object (TransactionAttempt)

リクエストを処理するバリデータへのトランザクションの既知の送信ごとに 1 つのエントリ。

RedactedField

レスポンスで削除されたフィールドに関する情報。

JSON 表現
{
  "redactedPath": string,
  "reason": string,
  "reasonCode": enum (Code)
}
フィールド
redactedPath

string (FieldMask format)

出力専用。ペイロードから削除された完全修飾フィールド パス。

完全修飾フィールド名のカンマ区切りリスト。例: "user.displayName,photo"

reason

string

出力専用。フィールドが削除された理由を説明する、人が読める形式の文字列。

reasonCode

enum (Code)

出力専用。フィールドが削除された理由を示す、マシンが読み取れるコード。

コード

gRPC API の正規のエラーコード。

複数のエラーコードが該当する場合があります。サービスは、該当する最も具体的なエラーコードを返す必要があります。たとえば、両方のコードが該当する場合、FAILED_PRECONDITION より OUT_OF_RANGE を優先します。同様に、FAILED_PRECONDITION より NOT_FOUND または ALREADY_EXISTS を優先します。

列挙型
OK

エラーではありません。成功したときに返されます。

HTTP マッピング: 200 OK

CANCELLED

オペレーションがキャンセルされました。通常、キャンセルは呼び出し元により行われます。

HTTP マッピング: 499 クライアントのクローズ リクエスト

UNKNOWN

不明なエラーです。たとえば、別のアドレス空間から受信した Status 値がこのアドレス空間で不明なエラー空間に属している場合に、このエラーが返される可能性があります。また、十分なエラー情報を返さない API によって発生したエラーは、このエラーに変換できます。

HTTP マッピング: 500 内部サーバーエラー

INVALID_ARGUMENT

クライアントが無効な引数を指定しました。これは FAILED_PRECONDITION とは異なることに注意してください。INVALID_ARGUMENT は、システムの状態を問わず問題(ファイル名の形式が不適切であるなど)があった引数を示します。

HTTP マッピング: 400 不正なリクエスト

DEADLINE_EXCEEDED

オペレーションが完了する前に期限が切れました。システムの状態を変更するオペレーションの場合、オペレーションが正常に終了しても、このエラーが返されることがあります。たとえば、サーバーからの正常なレスポンスが期限切れになるほど遅延する場合もあります。

HTTP マッピング: 504 ゲートウェイ タイムアウト

NOT_FOUND

一部のリクエストされたエンティティ(ファイルやディレクトリなど)が見つかりませんでした。

サーバー デベロッパーへの注: 段階的な機能のロールアウトや文書化されていない許可リストなど、ユーザークラス全体に対してリクエストが拒否された場合は、NOT_FOUND を使用できます。ユーザー単位のアクセス制御など、あるユーザークラス内の一部のユーザーに対してリクエストが拒否された場合は、PERMISSION_DENIED を使用する必要があります。

HTTP マッピング: 404 見つかりません

ALREADY_EXISTS

クライアントが作成しようとしたエンティティ(ファイルまたはディレクトリなど)はすでに存在しています。

HTTP マッピング: 409 競合

PERMISSION_DENIED

呼び出し元には、指定されたオペレーションを実行する権限がありません。PERMISSION_DENIED は一部のリソースが枯渇し拒否されたため使用できません(このようなエラーには代わりに RESOURCE_EXHAUSTED を使用します)。呼び出し元が特定できない場合は、PERMISSION_DENIED を使用しないでください(このようなエラーには代わりに UNAUTHENTICATED を使用します)。このエラーコードは、リクエストが有効であること、リクエストされたエンティティが存在すること、および他の事前条件が満たされていることを意味するものではありません。

HTTP マッピング: 403 禁止です

UNAUTHENTICATED

リクエストにはオペレーションに有効な認証情報がありません。

HTTP マッピング: 401 権限なし

RESOURCE_EXHAUSTED

ユーザーごとの割り当て、またはファイル システム全体で容量が不足しているため、一部のリソースが枯渇しています。

HTTP マッピング: 429 リクエストが多すぎます

FAILED_PRECONDITION

システムがオペレーションの実行に必要な状態ではないため、オペレーションが拒否されました。たとえば、削除されるディレクトリが空でない、rmdir オペレーションがディレクトリ以外に適用されているなどの状態です。

サービスの実装者は、次のガイドラインを使用して、FAILED_PRECONDITIONABORTEDUNAVAILABLE のいずれかに決定できます。(a)クライアントが失敗した呼び出しのみを再試行できる場合は、UNAVAILABLE を使用します。(b)クライアントがより高いレベルで再試行する必要がある場合は、ABORTED を使用します。たとえば、クライアント指定のテストと設定が失敗し、クライアントが読み取り、変更、書き込みのシーケンスをやり直す必要がある場合です。(c)システムの状態が明示的に修正されるまでクライアントが再試行すべきでない場合は、FAILED_PRECONDITION を使用します。たとえば、ディレクトリが空でないため「rmdir」が失敗した場合は、ディレクトリからファイルが削除されない限りクライアントは再試行すべきではないため、FAILED_PRECONDITION を返します。

HTTP マッピング: 400 不正なリクエスト

ABORTED

オペレーションは、通常、シーケンサー チェックの失敗、またはトランザクションの中止などの同時実行の問題のために中止されています。

FAILED_PRECONDITIONABORTEDUNAVAILABLE の決定については、上記のガイドラインをご覧ください。

HTTP マッピング: 409 競合

OUT_OF_RANGE

オペレーションが有効な範囲を超えて試行されました。たとえば、ファイルの終わりを超えたシークまたは読み取りなどが該当します。

INVALID_ARGUMENT とは異なり、このエラーは、システムの状態が変化すれば修正できる可能性のある問題を示しています。たとえば、32 ビット ファイルシステムは [0,2^32-1] の範囲にないオフセットでの読み取りを要求されると、INVALID_ARGUMENT を生成しますが、現在のファイルサイズを超えるオフセットからの読み取りを要求されると、OUT_OF_RANGE を生成します。

FAILED_PRECONDITIONOUT_OF_RANGE は重複しています。空間を経由して反復している呼び出し元が、完了時に OUT_OF_RANGE エラーを簡単に探せるようにするために、可能な限り OUT_OF_RANGE(より具体的なエラー)の使用をおすすめします。

HTTP マッピング: 400 不正なリクエスト

UNIMPLEMENTED

オペレーションが実装されていないか、このサービスでサポートまたは有効にされていません。

HTTP マッピング: 501 実装されていません

INTERNAL

内部エラー。これは、基盤となるシステムで予期される一部の不変条件が満たされていないことを意味します。このエラーコードは深刻なエラーのために予約されています。

HTTP マッピング: 500 内部サーバーエラー

UNAVAILABLE

サービスは現在使用できません。これは、バックオフで再試行することで解決できる可能性が高い一時的な状態です。非べき等オペレーションの再試行が常に安全であるとは限りません。

FAILED_PRECONDITIONABORTEDUNAVAILABLE の決定については、上記のガイドラインをご覧ください。

HTTP マッピング: 503 サービスを利用できません

DATA_LOSS

回復不能なデータの消失や破損。

HTTP マッピング: 500 内部サーバーエラー