Indice
BadRequest
(messaggio)BadRequest.FieldViolation
(messaggio)Code
(enum)Status
(messaggio)
BadRequest
Descrive le violazioni in una richiesta del cliente. Questo tipo di errore è incentrato sugli aspetti sintattici della richiesta.
Campi | |
---|---|
field_violations[] |
Descrive tutte le violazioni in una richiesta del cliente. |
FieldViolation
Un tipo di messaggio utilizzato per descrivere un singolo campo di richiesta non valido.
Campi | |
---|---|
field |
Un percorso che indirizza a un campo nel corpo della richiesta. Il valore sarà una sequenza di identificatori separati da punti che identificano un campo del buffer di protocollo. Considera quanto segue:
In questo esempio, nel protocollo
In JSON, gli stessi valori sono rappresentati come:
|
description |
Una descrizione del motivo per cui l'elemento della richiesta non è valido. |
Codice
I codici di errore canonici per le API gRPC.
A volte potrebbero essere applicati più codici di errore. I servizi dovrebbero restituire il codice di errore più specifico applicabile. Ad esempio, preferisci OUT_OF_RANGE
rispetto a FAILED_PRECONDITION
se si applicano entrambi i codici. Analogamente, preferisci NOT_FOUND
o ALREADY_EXISTS
rispetto a FAILED_PRECONDITION
.
Enum | |
---|---|
OK |
Non è un errore; viene restituito se l'operazione è andata a buon fine. Mappatura HTTP: 200 OK |
CANCELLED |
L'operazione è stata annullata, in genere 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 è diverso da Mappatura HTTP: 400 richiesta non valida |
DEADLINE_EXCEEDED |
Il termine è scaduto prima del completamento dell'operazione. Per le operazioni che cambiano 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 da far scadere la scadenza. Mappatura HTTP: timeout del gateway 504 |
NOT_FOUND |
Impossibile trovare un'entità richiesta (ad es. un file o una directory). Nota per gli sviluppatori di server: se una richiesta viene rifiutata per un'intera classe di utenti, ad esempio mediante implementazione graduale di funzionalità o lista consentita non documentata, è possibile che venga utilizzato Mappatura HTTP: 404 non trovato |
ALREADY_EXISTS |
L'entità che un client ha tentato di creare (ad es. un file o una directory) esiste già. Mappatura HTTP: conflitto 409 |
PERMISSION_DENIED |
Il chiamante non dispone dell'autorizzazione per eseguire l'operazione specificata. Non 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 forse l'intero file system ha esaurito lo spazio. Mappatura HTTP: 429 Troppe richieste |
FAILED_PRECONDITION |
L'operazione è stata rifiutata perché il sistema non è nello stato necessario per l'esecuzione. Ad esempio, la directory da eliminare non è vuota, viene applicata un'operazione rmdir a una non directory e così via. Gli implementatori del servizio possono utilizzare le seguenti linee guida per scegliere tra Mappatura HTTP: 400 richiesta non valida |
ABORTED |
L'operazione è stata interrotta, generalmente a causa di un problema di contemporaneità, come un errore del controllo del sequenziatore o l'interruzione della transazione. Consulta le linee guida precedenti per decidere tra Mappatura HTTP: conflitto 409 |
OUT_OF_RANGE |
Si è tentato di eseguire l'operazione oltre l'intervallo valido. Ad esempio, cercare o leggere la fine del file. A differenza di Esiste una leggera sovrapposizione tra Mappatura HTTP: 400 richiesta non valida |
UNIMPLEMENTED |
L'operazione non è implementata o non è supportata/abilitata in questo servizio. Mappatura HTTP: 501 non implementata |
INTERNAL |
Errori interni. Ciò significa che alcuni elementi invarianti previsti dal sistema sottostante sono stati danneggiati. Questo codice di errore è riservato a errori gravi. Mappatura HTTP: errore interno del server 500 |
UNAVAILABLE |
Il servizio non è al momento disponibile. Molto probabilmente si tratta di una condizione transitoria, 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 dei 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 tipi di dati: il codice, il messaggio e i dettagli dell'errore.
Per saperne di più su questo modello di errore e su come utilizzarlo, consulta la Guida alla progettazione delle API.
Campi | |
---|---|
code |
Il codice di stato, che dovrebbe essere un valore enum di |
message |
Un messaggio di errore rivolto agli sviluppatori, che dovrebbe essere in inglese. Qualsiasi messaggio di errore rivolto agli utenti deve essere localizzato e inviato nel campo |
details[] |
Un elenco di messaggi contenenti i dettagli dell'errore. Le API possono utilizzare un insieme comune di tipi di messaggi. |