Kode error kanonis untuk gRPC API.
Terkadang beberapa kode error mungkin berlaku. Layanan harus menampilkan kode error paling spesifik yang berlaku. Misalnya, pilih OUT_OF_RANGE
daripada FAILED_PRECONDITION
jika kedua kode tersebut berlaku. Demikian pula, lebih suka NOT_FOUND
atau ALREADY_EXISTS
daripada FAILED_PRECONDITION
.
Enumerasi | |
---|---|
OK |
Bukan error; ditampilkan jika berhasil. Pemetaan HTTP: 200 Oke |
CANCELLED |
Operasi dibatalkan, biasanya oleh pemanggil. Pemetaan HTTP: 499 Permintaan Klien yang Ditutup |
UNKNOWN |
Error tidak diketahui. Misalnya, error ini dapat ditampilkan saat 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 status sistem, error ini dapat ditampilkan bahkan jika operasi telah berhasil dilakukan. Misalnya, respons yang berhasil dari server dapat tertunda untuk waktu yang cukup lama hingga batas waktu berakhir. Pemetaan HTTP: Waktu Tunggu Gateway 504 |
NOT_FOUND |
Beberapa entitas yang diminta (misalnya, file atau direktori) tidak ditemukan. Catatan untuk developer server: jika permintaan ditolak untuk seluruh class pengguna, seperti peluncuran fitur secara bertahap atau daftar yang diizinkan tidak terdokumentasi, Pemetaan HTTP: 404 Tidak Ditemukan |
ALREADY_EXISTS |
Entity yang dicoba dibuat oleh klien (mis., file atau direktori) sudah ada. Pemetaan HTTP: Konflik 409 |
PERMISSION_DENIED |
Pemanggil tidak memiliki izin untuk menjalankan operasi yang ditentukan. Pemetaan HTTP: 403 Terlarang |
UNAUTHENTICATED |
Permintaan tidak memiliki kredensial autentikasi yang valid untuk operasi. Pemetaan HTTP: 401 Tidak Sah |
RESOURCE_EXHAUSTED |
Beberapa resource telah habis, mungkin kuota per pengguna, atau mungkin kapasitas keseluruhan sistem file sudah habis. Pemetaan HTTP: 429 Terlalu Banyak Permintaan |
FAILED_PRECONDITION |
Operasi tersebut ditolak karena sistem tidak memiliki status yang diperlukan untuk menjalankan operasi. Misalnya, direktori yang akan dihapus tidak kosong, operasi rmdir diterapkan ke non-direktori, dll. Implementasi layanan dapat menggunakan panduan berikut untuk menentukan antara Pemetaan HTTP: 400 Permintaan Tidak Valid |
ABORTED |
Operasi dibatalkan, biasanya karena masalah serentak seperti kegagalan pemeriksaan pengurut atau pembatalan transaksi. Lihat panduan di atas untuk memutuskan antara Pemetaan HTTP: Konflik 409 |
OUT_OF_RANGE |
Operasi dicoba melampaui rentang yang valid. Misalnya, mencari atau membaca histori file. Tidak seperti Sedikit tumpang-tindih antara Pemetaan HTTP: 400 Permintaan Tidak Valid |
UNIMPLEMENTED |
Operasi tidak diterapkan atau tidak didukung/diaktifkan dalam layanan ini. Pemetaan HTTP: 501 Tidak Diimplementasikan |
INTERNAL |
Error internal. Artinya beberapa invarian yang diharapkan oleh sistem pokok telah rusak. Kode error ini disediakan untuk error serius. Pemetaan HTTP: Error Server Internal 500 |
UNAVAILABLE |
Saat ini layanan tidak tersedia. Kemungkinan besar ini hanya kondisi sementara, yang dapat dikoreksi dengan mencoba kembali dengan backoff. Perhatikan bahwa tidak selalu aman untuk mencoba kembali operasi non-idempoten. Lihat panduan di atas untuk memutuskan antara Pemetaan HTTP: 503 Layanan Tidak Tersedia |
DATA_LOSS |
Kehilangan atau kerusakan data yang tidak dapat dipulihkan. Pemetaan HTTP: Error Server Internal 500 |