Package google.rpc

Indice

Codice

I codici di errore canonici per le API gRPC.

A volte possono essere applicati più codici di errore. I servizi devono restituire il codice di errore più specifico applicabile. Ad esempio, se entrambi i codici sono applicabili, preferisci OUT_OF_RANGE a FAILED_PRECONDITION. Allo stesso modo, preferisci NOT_FOUND o ALREADY_EXISTS a FAILED_PRECONDITION.

Enum
OK

Nessun errore; restituito in caso di esito positivo.

Mappatura HTTP: 200 OK

CANCELLED

L'operazione è stata annullata, in genere dal chiamante.

Mappatura HTTP: 499 Client Closed Request

UNKNOWN

Errore sconosciuto. Ad esempio, questo errore può essere restituito quando un valore Status ricevuto da un altro spazio di indirizzi appartiene a uno spazio di errore sconosciuto in questo spazio di indirizzi. Inoltre, gli errori generati dalle API che non restituiscono informazioni sufficienti sugli errori possono essere convertiti in questo errore.

Mappatura HTTP: 500 Internal Server Error

INVALID_ARGUMENT

Il client ha specificato un argomento non valido. Tieni presente che questo errore è diverso da FAILED_PRECONDITION. INVALID_ARGUMENT indica argomenti problematici indipendentemente dallo stato del sistema (ad es. un nome file non valido).

Mappatura HTTP: 400 Bad Request

DEADLINE_EXCEEDED

La scadenza è stata superata prima che l'operazione potesse essere completata. Per le operazioni che modificano lo stato del sistema, questo errore può essere restituito anche se l'operazione è stata completata correttamente. Ad esempio, una risposta positiva da un server potrebbe essere stata ritardata abbastanza da far scadere la scadenza.

Mappatura HTTP: 504 Gateway Timeout

NOT_FOUND

Non è stata trovata un'entità richiesta (ad es. file o directory).

Nota per gli sviluppatori di server: se una richiesta viene rifiutata per un'intera classe di utenti, ad esempio il lancio graduale di funzionalità o una lista consentita non documentata, è possibile utilizzare NOT_FOUND. Se una richiesta viene rifiutata per alcuni utenti all'interno di una classe di utenti, ad esempio il controllo dell'accesso basato sull'utente, deve essere utilizzato PERMISSION_DENIED.

Mappatura HTTP: 404 Not Found

ALREADY_EXISTS

L'entità che un client ha tentato di creare (ad es. file o directory) esiste già.

Mappatura HTTP: 409 Conflict

PERMISSION_DENIED

Il chiamante non ha l'autorizzazione per eseguire l'operazione specificata. PERMISSION_DENIED non deve essere utilizzato per i rifiuti causati dall'esaurimento di una risorsa (utilizza invece RESOURCE_EXHAUSTED per questi errori). PERMISSION_DENIED non deve essere utilizzato se il chiamante non può essere identificato (utilizza invece UNAUTHENTICATED per questi errori). Questo codice di errore non implica che la richiesta sia valida o che l'entità richiesta esista o soddisfi altre precondizioni.

Mappatura HTTP: 403 Forbidden

UNAUTHENTICATED

La richiesta non ha credenziali di autenticazione valide per l'operazione.

Mappatura HTTP: 401 Unauthorized

RESOURCE_EXHAUSTED

Alcune risorse sono state esaurite, forse una quota per utente o forse l'intero file system è senza spazio.

Mappatura HTTP: 429 Too Many Requests

FAILED_PRECONDITION

L'operazione è stata rifiutata perché il sistema non si trova in uno stato richiesto per l'esecuzione dell'operazione. Ad esempio, la directory da eliminare non è vuota, un'operazione rmdir viene applicata a una directory non vuota e così via.

Gli implementatori di servizi possono utilizzare le seguenti linee guida per decidere tra FAILED_PRECONDITION, ABORTED e UNAVAILABLE: (a) Utilizza UNAVAILABLE se il client può riprovare solo la chiamata non riuscita. (b) Utilizza ABORTED se il client deve riprovare a un livello superiore. Ad esempio, quando un test-and-set specificato dal client non riesce, indica che il client deve riavviare una sequenza di lettura-modifica-scrittura. (c) Utilizza FAILED_PRECONDITION se il client non deve riprovare finché lo stato del sistema non è stato corretto in modo esplicito. Ad esempio, se un "rmdir" non riesce perché la directory non è vuota, FAILED_PRECONDITION deve essere restituito poiché il client non deve riprovare a meno che i file non vengano eliminati dalla directory.

Mappatura HTTP: 400 Bad Request

ABORTED

L'operazione è stata interrotta, in genere a causa di un problema di concorrenza, ad esempio un controllo del sequencer non riuscito o un'interruzione della transazione.

Consulta le linee guida riportate sopra per decidere tra FAILED_PRECONDITION, ABORTED e UNAVAILABLE.

Mappatura HTTP: 409 Conflict

OUT_OF_RANGE

L'operazione è stata tentata al di fuori dell'intervallo valido. Ad esempio, la ricerca o la lettura oltre la fine del file.

A differenza di INVALID_ARGUMENT, questo errore indica un problema che può essere risolto se lo stato del sistema cambia. Ad esempio, un file system a 32 bit genererà INVALID_ARGUMENT se viene chiesto di leggere a un offset non compreso nell'intervallo [0,2^32-1], ma genererà OUT_OF_RANGE se viene chiesto di leggere da un offset oltre la dimensione corrente del file.

Esiste una certa sovrapposizione tra FAILED_PRECONDITION e OUT_OF_RANGE. Ti consigliamo di utilizzare OUT_OF_RANGE (l'errore più specifico) quando è applicabile, in modo che i chiamanti che eseguono l'iterazione in uno spazio possano cercare facilmente un errore OUT_OF_RANGE per rilevare quando hanno terminato.

Mappatura HTTP: 400 Bad Request

UNIMPLEMENTED

L'operazione non è implementata o non è supportata/abilitata in questo servizio.

Mappatura HTTP: 501 Not Implemented

INTERNAL

Errori interni. Ciò significa che alcune invarianti previste dal sistema sottostante sono state violate. Questo codice di errore è riservato agli errori gravi.

Mappatura HTTP: 500 Internal Server Error

UNAVAILABLE

Il servizio non è attualmente disponibile. Si tratta molto probabilmente di una condizione temporanea, che può essere corretta riprovando con un backoff. Tieni presente che non è sempre sicuro riprovare le operazioni non idempotenti.

Consulta le linee guida riportate sopra per decidere tra FAILED_PRECONDITION, ABORTED e UNAVAILABLE.

Mappatura HTTP: 503 Service Unavailable

DATA_LOSS

Perdita o danneggiamento dei dati non recuperabili.

Mappatura HTTP: 500 Internal Server Error