Le seguenti sezioni descrivono il modello di errore per i metodi di risorsa v2 e v1, rispettivamente.
modellodi errore risorsa v2
Per impostazione predefinita, i metodi di risorsa rispondono con uno StatoOK 200.Quando le richieste non hanno successo, Open Cloud restituisce codici di errore standard.Tutte le risposte agli errori hanno lo stesso formato, che includono:
- code - Rappresenta il codice HTTP dello stato.
- message - Un messaggio che spiega l'errore.
- details - Un oggetto che contiene maggiori informazioni specifiche per l'errore.
Esempio errore
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
Codi
La seguente tabella descrive i possibili valori per code .
Codice | Stato HTTP | Descrizione |
---|---|---|
INVALID_ARGUMENT | 400 | Hai passato un argomento non valido, come un argomento non valido universeId . Potresti anche avere intestazioni mancanti o non valide, come Content-Length e Content-Type . |
PERMISSION_DENIED | 403 | La tua richiesta non ha permessi o scopi sufficienti per eseguire l'operazione. |
NOT_FOUND | 404 | Il sistema non può trovare le risorse specificate, come un'entrata nel deposito di dati. |
ABORTED | 409 | L'operazione è stata interrotta. |
RESOURCE_EXHAUSTED | 429 | Non hai abbastanza quota per eseguire l'operazione, tipicamente a causa di invio di troppe richieste. |
CANCELLED | 499 | Il sistema termina la Richiesta, tipicamente a causa di un timeout lato client. |
INTERNAL | 500 | Errore interno del server, tipicamente dovuto a un bug del server. |
NOT_IMPLEMENTED | 501 | Il server non implementa il metodo API. |
UNAVAILABLE | 503 | Il servizio non è disponibile, tipicamente restituito quando il server è inattivo. |
modello di errore risorsa v1
Tutte le risposte agli errori hanno lo stesso formato standard, che include:
- Un campo error di alto livello che è una causa applicabile a tutti i punti finali Open Cloud.
- Un errore esplicativo message , che spiega ulteriormente l'errore.
- Un oggetto errorDetails che copre più informazioni sull'errore che è specifico per ciascuna API.
Per analizzare la causa radice di un errore, fai riferimento al valore del campo error e al campo errorDetails.Usa il campo message come supplemento per la gestione degli errori, poiché a volte potrebbe non coprire lo stesso livello di dettagli del campo errorDetails.
Risposta agli errori standard dei data store di esempio
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
La risposta di errore di esempio mostra l'Open Cloud di alto livello error come INVALID_ARGUMENT , l'errore message come InvalidCursor e il errorDetails specifico per i data store con il datastoreErrorCode come InvalidCursor .Dai campi error e datastoreErrorCode della risposta, puoi capire che hai passato un parametro cursore non valido che ha causato l'errore.Puoi quindi correggere il parametro del cursore per risolvere il problema.
Tutte le risposte agli errori degli store di dati ordinati hanno lo stesso formato, che include:
Esempio di risposta agli errori dei DataStore ordinati
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
Il code conterrà una stringa dell'errore di alto livello mentre il message conterrà dettagli specifici relativi all'errore
Codi
Fai riferimento alla seguente tabella per un riepilogo di tutti gli errori Open Cloud di alto livello.
Codice stato HTTP | Errore | Descrizioni |
---|---|---|
400 | ARGOMENTO_NON_VALIDO | Hai passato un argomento non valido, come un argomento non valido universeId . Potresti anche avere intestazioni mancanti o non valide, come Content-Length e Content-Type . |
403 | SCOPO_INSUFFICENTE | La richiesta richiede privilegi più elevati di quelli forniti dal token di accesso. |
403 | PERMISSION_DENIED | La tua richiesta non ha una portata sufficiente per eseguire l'operazione. |
404 | NON_TROVATA | Il sistema non può trovare le risorse specificate, come un Negoziodi dati. |
409 | ANNULLATO | L'operazione è stata interrotta a causa di un conflitto, come la pubblicazione di un luogo che non fa parte dell'universo. |
429 | RISORSA_ESAUSTA | Non hai abbastanza quota per eseguire l'operazione, tipicamente a causa di invio di troppe richieste. |
499 | ANNULLATO | Il sistema termina la Richiesta, tipicamente a causa di un timeout lato client. |
500 | INTERNO | Errore interno del server. Tipicamente un bug del server. |
501 | NON_Implementato | Il server non implementa il metodo API. |
503 | NON DISPONIBILE | Servizio non disponibile. Tipicamente il server è down. |