Mengirim kueri ke jaringan untuk mendapatkan informasi yang disimpan di buku besar, seperti akun dan transaksi.
Akses ke kolom sensitif tertentu, seperti saldo akun, dapat dibatasi berdasarkan identitas pengirim yang berasal dari tanda tangan dalam permintaan. Jika pengirim tidak memiliki izin, kolom sensitif akan disamarkan dari respons dan dilaporkan di kolom redactedFields.
Permintaan HTTP
POST https://universalledger.googleapis.com/v1/{endpoint=projects/*/locations/*/endpoints/*}:queryData URL menggunakan sintaksis gRPC Transcoding.
Parameter jalur
| Parameter | |
|---|---|
endpoint |
Wajib. Endpoint untuk melayani permintaan. Format: |
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
| Representasi JSON |
|---|
{ "serializedSignedQueryRequest": string } |
| Kolom | |
|---|---|
serializedSignedQueryRequest |
Wajib. String berenkode base64. |
Isi respons
Pesan respons untuk endpoints.queryData.
Jika berhasil, isi respons memuat data dengan struktur berikut:
| Representasi JSON |
|---|
{ "redactedFields": [ { object ( |
| Kolom | |
|---|---|
redactedFields[] |
Menunjukkan kolom mana yang telah disamarkan dari respons karena batasan izin. |
Kolom union kind. Hasil khusus kueri. kind hanya ada berupa salah satu diantara berikut: |
|
account |
Informasi akun, jika kueri ditujukan untuk akun. |
transactionState |
Status transaksi, jika kueri adalah untuk transaksi. |
Cakupan otorisasi
Memerlukan cakupan OAuth berikut:
https://www.googleapis.com/auth/cloud-platform
Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.
TransactionState
Status transaksi.
| Representasi JSON |
|---|
{
"transactionAttempts": [
{
object ( |
| Kolom | |
|---|---|
transactionAttempts[] |
Satu entri per setiap pengiriman transaksi yang diketahui ke validator yang menangani permintaan. |
RedactedField
Informasi tentang kolom yang disamarkan dalam respons.
| Representasi JSON |
|---|
{
"redactedPath": string,
"reason": string,
"reasonCode": enum ( |
| Kolom | |
|---|---|
redactedPath |
Hanya output. Jalur kolom yang sepenuhnya memenuhi syarat yang disamarkan dari payload. Ini adalah comma-separated list berisi nama kolom yang sepenuhnya memenuhi syarat. Contoh: |
reason |
Hanya output. Penjelasan yang dapat dibaca manusia tentang alasan kolom disamarkan. |
reasonCode |
Hanya output. Kode yang dapat dibaca mesin untuk alasan kolom disamarkan. |
Kode
Kode error kanonis pada gRPC API.
Terkadang beberapa kode error dapat terjadi. Layanan seharusnya menampilkan kode error paling spesifik yang berlaku. Misalnya, lebih memilih menampilkan OUT_OF_RANGE daripada FAILED_PRECONDITION jika kedua kode berlaku. Demikian pula, untuk lebih memilih menampilkan NOT_FOUND atau ALREADY_EXISTS daripada FAILED_PRECONDITION.
| Enum | |
|---|---|
OK |
Bukan error; ditampilkan jika berhasil. Pemetaan HTTP: 200 OK |
CANCELLED |
Operasi dibatalkan, biasanya oleh pemanggil. Pemetaan HTTP: 499 Client Closed Request |
UNKNOWN |
Error tidak diketahui. Misalnya, error ini dapat ditampilkan jika nilai Pemetaan HTTP: Error Server Internal 500 |
INVALID_ARGUMENT |
Klien menetapkan argumen yang tidak valid. Perhatikan bahwa ini berbeda dengan Pemetaan HTTP: 400 Permintaan Tidak Valid |
DEADLINE_EXCEEDED |
Batas waktu berakhir sebelum operasi selesai. Untuk operasi yang mengubah keadaan sistem, error ini mungkin ditampilkan, bahkan jika, operasi tersebut telah selesai. Sebagai contoh, respons berhasil dari suatu server dapat tertunda selama waktu yang cukup lama hingga tenggat waktu berakhir. Pemetaan HTTP: 504 Gateway Timeout |
NOT_FOUND |
Beberapa entity yang diminta (misalnya, file atau direktori) tidak ditemukan. Catatan bagi developer server: apabila suatu permintaan ditolak pada seluruh kelas pengguna, seperti peluncuran bertahap, atau daftar yang diberi akses, Pemetaan HTTP: 404 Not Found |
ALREADY_EXISTS |
Entitas yang coba dibuat oleh klien (misalnya, file atau direktori) sudah ada. Pemetaan HTTP: 409 Conflict |
PERMISSION_DENIED |
Pemanggil tidak memiliki izin untuk menjalankan operasi yang ditentukan. Pemetaan HTTP: 403 Forbidden |
UNAUTHENTICATED |
Permintaan tidak memiliki kredensial autentikasi operasi yang valid. Pemetaan HTTP: 401 Tidak Sah |
RESOURCE_EXHAUSTED |
Beberapa resource telah habis, kemungkinan adalah kuota per pengguna, atau kemungkinan seluruh sistem file kehabisan ruang. Pemetaan HTTP: 429 Too Many Requests |
FAILED_PRECONDITION |
Operasi tersebut ditolak karena sistem tidak dalam keadaan dibutuhkan untuk menjalankan operasi. Misalnya, direktori yang akan dihapus tidak kosong, operasi rmdir diterapkan pada non-direktori, dll. Pelaksana layanan dapat menggunakan panduan berikut untuk menentukan manakah yang paling sesuai di antara Pemetaan HTTP: 400 Permintaan Tidak Valid |
ABORTED |
Operasi dibatalkan, umumnya karena masalah konkurensi seperti kegagalan pemeriksaan pengurut atau pembatalan transaksi. Lihat panduan di atas untuk menentukan manakah yang sesuai antara Pemetaan HTTP: 409 Conflict |
OUT_OF_RANGE |
Upaya operasi dilakukan melampaui rentang yang valid. Mis., mencari tahu atau membaca melampaui akhir file. Tidak seperti Terdapat sedikit tumpang-tindih antara Pemetaan HTTP: 400 Permintaan Tidak Valid |
UNIMPLEMENTED |
Operasi tidak diterapkan atau tidak didukung/diaktifkan dalam layanan ini. Pemetaan HTTP: 501 Not Implemented |
INTERNAL |
Error internal. Artinya beberapa invarian yang diperlukan oleh sistem pokok telah rusak. Kode error ini disediakan untuk error yang bersifat serius. Pemetaan HTTP: Error Server Internal 500 |
UNAVAILABLE |
Saat ini layanan tidak tersedia. Kemungkinan besar ini hanya kondisi sementara, yang dapat diperbaiki dengan mencoba kembali menggunakan backoff. Perlu diketahui bahwa mencoba kembali operasi non-idempoten tidak selalu aman. Lihat panduan di atas untuk menentukan manakah yang sesuai antara Pemetaan HTTP: 503 Layanan Tidak Tersedia |
DATA_LOSS |
Data hilang atau rusak yang tidak dapat dipulihkan. Pemetaan HTTP: Error Server Internal 500 |