Las siguientes secciones describen el modelo de error para los métodos de recursos v2 y v1, respectivamente.
Modelo de error de recursos v2
Por defecto, los métodos de recursos responden con un estado de éxito de 200. Cuando las solicitudes son sin éxito, Open Cloud devuelve códigos de error estándar. Todos los códigos de error tienen el mismo formato, que incluye:
- code - Representa el código de estado HTTP.
- message - Un mensaje que explica el error.
- details - Un objeto que contiene más información específica del error.
Ejemplo de error
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
Códigos
La siguiente tabla describe posibles valores para code .
Código | Estado HTTP | Descripción |
---|---|---|
INVALID_ARGUMENT | 400 | Has pasado un argumento no válido, como un universeId no válido. También puedes tener cabeceras faltantes o no válidas, como Content-Length y Content-Type . |
PERMISSION_DENIED | 403 | Tu solicitud no tiene permisos suficientes o alcances para realizar la operación. |
NOT_FOUND | 404 | El sistema no puede encontrar sus recursos especificados, como una entrada de almacén de datos. |
ABORTED | 409 | La operación fue abortada. |
RESOURCE_EXHAUSTED | 429 | No tienes suficiente cuota para realizar el operador, generalmente debido a enviar demasiadas solicitudes. |
CANCELLED | 499 | El sistema termina la solicitud, generalmente debido a un tiempo de espera del lado del cliente. |
INTERNAL | 500 | Error interno del servidor, generalmente debido a un error del servidor. |
NOT_IMPLEMENTED | 501 | El servidor no implementa el método de API. |
UNAVAILABLE | 503 | El servicio no está disponible, generalmente devuelto cuando el servidor está caído. |
Modelo de error de recursos v1
Todas las respuestas de error tienen el mismo formato estándar, que incluye:
- Un campo error , que es una causa de alto nivel que se aplica a todos los puntos de finalización de Open Cloud.
- Un error explicativo message , que explica aún más el error.
- Un objeto errorDetails que cubre más información del error que es específica para cada API.
Para analizar la causa raíz de un error, referirse al valor del campo error y el campo errorDetails. Usa el campo message como suplementario para el manejo de errores, ya que a veces no puede cubrir el mismo nivel de detalles que el campo 2>errorDetails2>.
Ejemplo de respuesta de error de almacén de datos estándar
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
La respuesta de error de ejemplo muestra el alto nivel de Open Cloud error como INVALID_ARGUMENT
Todas las respuestas de datos pedidos tienen el mismo formato, que incluye:
Respuesta de error de almacén de datos pedido de ejemplo
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
El code contendrá una cadena de los errores de alto nivel mientras que el message contendrá detalles específicos relacionados con el error
Códigos
Consulte la siguiente tabla para obtener una breve descripción de todos los errores de nivel alto de Open Cloud.
Código de estado HTTP | Error | Descripciones |
---|---|---|
400 | INVALID_ARGUMENTO | Has pasado un argumento no válido, como un universeId no válido. También puedes tener cabeceras faltantes o no válidas, como Content-Length y Content-Type . |
403 | INSUFICIENTE_ESCOPE | La solicitud requiere privilegios más altos que los proporcionados por el token de acceso. |
403 | PERMISO_DENEGADO | Su solicitud no tiene un alcance suficiente para realizar el trabajo. |
404 | NO_ENCONTRADO | El sistema no puede encontrar sus recursos especificados, como un tiendade datos. |
409 | ANULADO | La operación fue abortada debido a un conflicto, como publicar un lugar que no es parte del universo. |
429 | RECURSOS_EXHAUSTED | No tienes suficiente cuota para realizar el operador, generalmente debido a enviar demasiadas solicitudes. |
499 | CANCELADO | El sistema termina la solicitud, generalmente debido a un tiempo de espera del lado del cliente. |
500 | INTERNO | Error interno del servidor. Por lo general, un error del servidor. |
501 | NO_IMPLEMENTADO | El servidor no implementa el método de API. |
503 | NO DISPONIBLE | Servicio no disponible. Por lo general, el servidor está inactivo. |