Las siguientes secciones describen el modelo de error para los métodos de recursos v2 y v1, respectivamente.
aplicación de modeladode error de recursos v2
Por defecto, los métodos de recursos responden con un estado de 200 OK.Cuando las solicitudes no tienen éxito, Open Cloud devuelve códigos de error estándar.Todas las respuestas de error tienen el mismo formato, que incluyen:
- 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 | Pasaste un argumento inválido, como un argumento inválido universeId. También podrías tener cabeceras perdidas o inválidas, como Content-Length y Content-Type. |
PERMISSION_DENIED | 403 | Su solicitud no tiene permisos o alcances suficientes para realizar la operación. |
NOT_FOUND | 404 | El sistema no puede encontrar los recursos especificados, como una entrada de almacén de datos. |
ABORTED | 409 | La operación se abortó. |
RESOURCE_EXHAUSTED | 429 | No tienes suficiente cuota para realizar la operación, 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, por lo general debido a un error del servidor. |
NOT_IMPLEMENTED | 501 | El servidor no implementa el método de la API. |
UNAVAILABLE | 503 | El servicio no está disponible, por lo general se devuelve cuando el servidor está inactivo. |
aplicación de modeladode error de recursos v1
Todas las respuestas de error tienen el mismo formato estándar, que incluye:
- Un campo error de alto nivel que es aplicable a todos los puntos finales de nube abierta.
- 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 de cada API.
Para analizar la causa raíz de un error, consulte el valor del campo error y el campo errorDetails.Usa el campo message como complemento para la gestión de errores, ya que a veces puede que no cubra el mismo nivel de detalle que el campo errorDetails.
Respuesta de error de almacenes de datos estándar de ejemplo
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
La respuesta de error de ejemplo muestra la respuesta de nivel alto de Open Cloud como , el error como y la respuesta específica de de los almacenes de datos con el como .De los campos error y datastoreErrorCode de la respuesta, puedes entender que pasaste un parámetro de cursor inválido que causó el error.Luego puedes corregir el parámetro del cursor para resolver el problema.
Todas las respuestas de errores de almacenes de datos solicitados tienen el mismo formato, que incluye:
Respuesta de error de almacenes de datos ordenados de ejemplo
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
El code contendrá una cadena del error de alto nivel mientras que el message contendrá detalles específicos relacionados con el error
Códigos
Consulte la siguiente tabla para obtener un resumen de todos los errores de nivel alto de la nube abierta.
Código de estado HTTP | Errores | Descripciones |
---|---|---|
400 | ARGUMENTO_INVÁLIDO | Pasaste un argumento inválido, como un argumento inválido universeId. También podrías tener cabeceras perdidas o inválidas, como Content-Length y Content-Type. |
403 | INSUFICIENTE_SCOPE | La solicitud requiere permisos más altos de los que proporciona el token de acceso. |
403 | PERMISO_RECHAZADO | Su solicitud no tiene suficiente alcance para realizar la operación. |
404 | NO_ENCONTRÓ | El sistema no puede encontrar los recursos especificados, como un tiendade datos. |
409 | ABANDONADO | La operación se abortó debido a un conflicto, como publicar un lugar que no forma parte del universo. |
429 | RECURSO_AGOTADO | No tienes suficiente cuota para realizar la operación, generalmente debido a enviar demasiadas solicitudes. |
499 | ANULADO | El sistema termina la solicitud, generalmente debido a un tiempo de espera del lado del cliente. |
500 | INTERNO | Error interno del servidor. Típicamente un error del servidor. |
501 | NO_IMPLEMENTADO | El servidor no implementa el método de la API. |
503 | NO DISPONIBLE | Servicio no disponible. Por lo general, el servidor está inactivo. |