As seções a seguir descrevem o modelo de erro para os métodos de recursos v2 e v1, respectivamente.
Modelo de erro de recurso v2
Por padrão, os métodos de recurso respondem com um status 200 OK. Quando as solicitações falham, o Open Cloud retorna códigos de erro padrão. Todas as respostas de erro têm o mesmo formato, que incluem:
- code - Representa o código de status HTTP.
- message - Uma mensagem explicando o erro.
- details - Um objeto que contém mais informações específicas para o erro.
Erro de exemplo
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
Códigos
A tabela a seguir descreve possíveis valores para código.
Código | Estado HTTP | Descripción |
---|---|---|
INVALID_ARGUMENT | 400 puntos | Pasaste un argumento inválido, como un inválido universeId . También puedes tener encabezados faltantes o inválidos, como Content-Length y Content-Type . |
PERMISSION_DENIED | 403 veces | Su solicitud no tiene permisos o alcances suficientes para realizar la operación. |
NOT_FOUND | 404 año | El sistema no puede encontrar los recursos especificados, como una entrada de almacenamiento de datos. |
ABORTED | 409 veces | La operación fue abortada. |
RESOURCE_EXHAUSTED | 429 veces | No tienes la cuota suficiente para realizar la operación, por lo general debido a enviar demasiadas solicitudes. |
CANCELLED | 499 veces | El sistema termina la solicitud, típicamente debido a un tiempo de espera del lado del cliente. |
INTERNAL | 500 puntos | Error interno del servidor, típicamente debido a un error del servidor. |
NOT_IMPLEMENTED | 501 año | El servidor no implementa el método API. |
UNAVAILABLE | 503 veces | El servicio no está disponible, por lo general se devuelve cuando el servidor no funciona. |
Modelo de erro de recurso v1
Todas as respostas de erro têm o mesmo formato padrão, que inclui:
- Um campo error, que é uma causa de alto nível aplicável a todos os endpoints Open Cloud.
- Um erro explicativo message , que explica ainda mais o erro.
- Um errorDetails Objeto, que cobre mais informações sobre o erro específico de cada API (Interface de Programação para Aplicações).
Para analisar a causa raiz de um erro, consulte o valor do campo error e o campo errorDetails. Use o campo message como um suplemento para lidar com erros, pois às vezes pode não cobrir o mesmo nível de detalhes que o campo errorDetails.
Exemplo de resposta de erro do DataStores padrão
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
A resposta de erro de exemplo mostra a Nuvem Aberta de alto nível error como INVALID_ARGUMENT , o erro message como InvalidCursor , e o errorDetails específico para armazena dados com o datastoreErrorCode como InvalidCursor . A partir dos campos error e datastoreErrorCode da resposta, você pode entender que passou um parâmetro de cursor inválido que causou o erro. Você pode então corrigir seu parâmetro de cursor para resolver o problema.
Todas as respostas de erro de armazenamento de dados encomendadas têm o mesmo formato, que inclui:
Exemplo de Resposta de Erro do DataStores Pedido
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
O code conterá uma string do erro de alto nível enquanto o message conterá detalhes específicos relacionados ao erro
Códigos
Consulte a tabela a seguir para obter um resumo de todos os erros de alto nível do Open Cloud.
Código de estado HTTP | Erreur | Descripciones |
---|---|---|
400 puntos | ARGUMENTO_INVÁLIDO | Pasaste un argumento inválido, como un inválido universeId . También puedes tener encabezados faltantes o inválidos, como Content-Length y Content-Type . |
403 veces | ESCOPE_INSUFICIENTE | La solicitud requiere privilegios más altos que los proporcionados por el token de acceso. |
403 veces | PERMISO_DENEGADO | Su solicitud no tiene suficiente alcance para realizar la operación. |
404 año | NO_ENCONTRADO | El sistema no puede encontrar los recursos especificados, como un tiendade datos. |
409 veces | ABORTADO | La operación fue abortada debido a un conflicto, como publicar un lugar que no es parte del universo. |
429 veces | RECURSO_EXHAUSTO | No tienes la cuota suficiente para realizar la operación, por lo general debido a enviar demasiadas solicitudes. |
499 veces | CANCELADO | El sistema termina la solicitud, típicamente debido a un tiempo de espera del lado del cliente. |
500 puntos | INTERNO | Error interno del servidor. Típicamente un error del servidor. |
501 año | NO_IMPLEMENTADO | El servidor no implementa el método API. |
503 veces | NO DISPONIBLE | El servicio no está disponible. Por lo general, el servidor está caído. |