Indice
Codice
I codici di errore canonici per le API gRPC.
A volte potrebbero essere applicati più codici di errore. I servizi devono restituire il codice di errore più specifico applicabile. Ad esempio, preferisci OUT_OF_RANGE
rispetto a FAILED_PRECONDITION
se sono applicabili entrambi i codici. Analogamente, preferisci NOT_FOUND
o ALREADY_EXISTS
rispetto a FAILED_PRECONDITION
.
Enum | |
---|---|
OK |
Non è un errore; una volta ottenuta l'esito positivo. Mappatura HTTP: 200 OK |
CANCELLED |
L'operazione è stata annullata, generalmente dal chiamante. Mappatura HTTP: richiesta chiusa client 499 |
UNKNOWN |
Errore sconosciuto. Ad esempio, questo errore può essere restituito quando un valore Mappatura HTTP: errore interno del server 500 |
INVALID_ARGUMENT |
Il client ha specificato un argomento non valido. Tieni presente che questo valore è diverso da Mappatura HTTP: richiesta 400 non valida |
DEADLINE_EXCEEDED |
La scadenza è scaduta prima del completamento dell'operazione. Per le operazioni che modificano lo stato del sistema, questo errore potrebbe essere restituito anche se l'operazione è stata completata correttamente. Ad esempio, una risposta corretta da un server potrebbe essere ritardata abbastanza a lungo prima della scadenza. Mappatura HTTP: timeout del gateway 504 |
NOT_FOUND |
Alcune entità richieste (ad es. file o directory) non sono state trovate. Nota per gli sviluppatori server: se una richiesta viene rifiutata per un'intera classe di utenti, ad esempio l'implementazione graduale delle funzionalità o una lista consentita non documentata, è possibile utilizzare Mappatura HTTP: errore 404 non trovato |
ALREADY_EXISTS |
L'entità che un client ha tentato di creare (ad esempio, file o directory) esiste già. Mappatura HTTP: conflitto 409 |
PERMISSION_DENIED |
Il chiamante non dispone dell'autorizzazione per eseguire l'operazione specificata. Non è consentito utilizzare Mappatura HTTP: 403 accesso negato |
UNAUTHENTICATED |
La richiesta non ha credenziali di autenticazione valide per l'operazione. Mappatura HTTP: 401 Autorizzazione non autorizzata |
RESOURCE_EXHAUSTED |
Alcune risorse sono esaurite, forse una quota per utente o l'intero file system è esaurito. Mappatura HTTP: 429 troppe richieste |
FAILED_PRECONDITION |
L'operazione è stata rifiutata perché il sistema non è nello stato richiesto per l'esecuzione dell'operazione. Ad esempio, la directory da eliminare non è vuota, un'operazione rmdir viene applicata a una non directory e così via. Gli implementatori di servizi possono utilizzare le seguenti linee guida per decidere tra Mappatura HTTP: richiesta 400 non valida |
ABORTED |
L'operazione è stata interrotta, in genere a causa di un problema di contemporaneità come un errore del controllo del sequencer o dell'interruzione di una transazione. Consulta le linee guida precedenti per decidere tra Mappatura HTTP: conflitto 409 |
OUT_OF_RANGE |
Il tentativo dell'operazione è stato effettuato una volta superato l'intervallo valido. ad esempio cercare o leggere oltre la fine del file. A differenza di Esiste una discreta sovrapposizione tra Mappatura HTTP: richiesta 400 non valida |
UNIMPLEMENTED |
L'operazione non è implementata o non è supportata/abilitata in questo servizio. Mappatura HTTP: errore 501 non implementato |
INTERNAL |
Errori interni. Ciò significa che alcune caratteristiche invarianti previste dal sistema sottostante sono state interrotte. Questo codice di errore è riservato agli errori gravi. Mappatura HTTP: errore interno del server 500 |
UNAVAILABLE |
Il servizio non è al momento disponibile. Molto probabilmente si tratta di una condizione temporanea, che può essere corretta riprovando con un backoff. Tieni presente che non è sempre sicuro ritentare le operazioni non idempotenti. Consulta le linee guida precedenti per decidere tra Mappatura HTTP: servizio 503 non disponibile |
DATA_LOSS |
Perdita o danneggiamento di dati non recuperabili. Mappatura HTTP: errore interno del server 500 |
Stato
Il tipo Status
definisce un modello di errore logico adatto a diversi ambienti di programmazione, tra cui API REST e API RPC. È utilizzato da gRPC. Ogni messaggio Status
contiene tre dati: codice, messaggio di errore e dettagli dell'errore.
Per saperne di più su questo modello di errore e su come utilizzarlo, consulta la Guida alla progettazione dell'API.
Campi | |
---|---|
code |
Il codice di stato, che deve essere un valore enum pari a |
message |
Un messaggio di errore rivolto agli sviluppatori, che deve essere in inglese. Qualsiasi messaggio di errore rivolto agli utenti deve essere localizzato e inviato nel campo |
details[] |
Un elenco di messaggi con i dettagli dell'errore. Le API possono utilizzare un insieme comune di tipi di messaggi. |