Consulta los conectores compatibles con Application Integration.
Introducción a la gestión de errores
En Integración de aplicaciones, pueden producirse errores al probar y publicar una integración, o durante la ejecución de una integración. Estos errores pueden deberse a varios problemas del lado del cliente y del servidor, y se clasifican de forma general de la siguiente manera:
- Errores permanentes: Todos los errores del lado del cliente, como los fallos de autenticación o los errores de validación de datos, se consideran errores permanentes. Los errores permanentes provocan fallos permanentes en las tareas.
- Errores temporales: Todos los errores del lado del servidor, como HTTP 503 (servicio no disponible) o HTTP 400 (solicitud incorrecta), se consideran errores temporales. Los errores temporales provocan fallos temporales en las tareas.
Los mensajes de error aparecen en las siguientes ubicaciones:
- Página de registros de ejecución: muestra los errores que se han producido durante la ejecución de una integración. Cada ejecución de una integración tiene una entrada de registro independiente. Para obtener información sobre la página de registros de ejecución, consulta Registros de ejecución.
- Página del editor de integraciones: muestra los errores que se han producido al publicar una integración. Los errores se muestran en la parte inferior de la página del editor de integraciones. Para obtener información sobre la página del editor de integraciones, consulta Editor de integraciones.
Para obtener información sobre la lista de códigos de error que pueden aparecer, consulta Códigos de error.
Métodos de gestión de errores
Application Integration admite los siguientes métodos de gestión de errores para lanzar, detectar, reintentar y personalizar los errores que se produzcan en tu integración:
- Estrategias para gestionar errores: la estrategia para gestionar errores de una tarea especifica la acción que se debe llevar a cabo si la tarea falla debido a un error temporal. Puedes especificar diferentes estrategias de gestión de errores para los modos de ejecución síncronos y asíncronos.
- Receptor de errores: define una forma personalizada de gestionar el fallo de un activador, una tarea o una condición de borde identificados en tu integración. Puedes definir uno o varios controladores de errores en una sola integración para gestionar los errores de las tareas o los fallos de ejecución. Cada gestor de errores se puede invocar mediante un activador, llamado activador de gestor de errores, para ejecutar el conjunto de tareas de integración configuradas y personalizadas para gestionar el error.
Puedes usar métodos de gestión de errores tanto en el modo síncrono como en el asíncrono de ejecución de la integración:
-
Ejecuciones síncronas: en el modo síncrono, el resultado de la ejecución de la integración está disponible poco después de que se ejecute. El modo síncrono es útil en situaciones en las que quieres obtener el resultado de la ejecución inmediatamente después de que se ejecute la integración. Los activadores que ejecutan la integración en modo síncrono son los siguientes:
- Probar o publicar una integración
- Llamar a la API
projects.locations.integrations.execute
- Llamar a la integración desde una subintegración en el modo síncrono
-
Ejecuciones asíncronas: las ejecuciones asíncronas usan el modelo de activación y olvido. El modo asíncrono es útil en situaciones en las que las integraciones pueden tardar mucho en ejecutarse o en las que no se necesita el resultado de la ejecución inmediatamente después de que se ejecute la integración. Los activadores que ejecutan la integración en modo asíncrono incluyen los siguientes:
- Todas las ejecuciones que no sean síncronas se realizan en modo asíncrono. Algunos de los modos asíncronos habituales son los siguientes:
- Las ejecuciones que se reanudan tras una suspensión o una tarea de aprobación también se ejecutan en modo asíncrono, aunque la ejecución inicial se haya realizado en modo síncrono.
Práctica recomendada
Usa tanto la estrategia de gestión de errores como el captador de errores en tu integración. Si se produce algún error, la integración sigue la estrategia definida en la sección de gestión de errores. Una vez que se ha agotado la estrategia de gestión de errores configurada, se activa la lógica de captura de errores. Usa variables del sistema para obtener el valor del código de error y el mensaje de error que se enviarán al flujo de captura de errores.
Ejemplo
Supongamos que tienes un flujo de integración para crear un pedido. Los nuevos pedidos se crean en Cloud SQL para MySQL. El flujo usa una tarea de conector (Crear un pedido en este ejemplo) para conectarse a Cloud SQL para MySQL. En caso de interrupción de la base de datos, la tarea del conector genera errores al insertar nuevos pedidos en la base de datos. Como práctica recomendada, debes usar tanto la estrategia de gestión de errores como el captador de errores en tu integración.
Para añadir la estrategia de gestión de errores, haz clic en la tarea del conector en el diseñador de integraciones para abrir el panel de configuración de la tarea. En el siguiente diagrama se muestra la estrategia de gestión de errores configurada para la tarea del conector Crear un pedido:
Para añadir la estrategia de gestión de errores, haga clic en la tarea Llamar a un punto final REST en el diseñador de integraciones para abrir el panel de configuración de la tarea. En el siguiente diagrama se muestra la estrategia de gestión de errores configurada para la tarea Llamar a un punto final REST:
Para añadir el captador de errores, haz clic en la tarea Llamar a un punto final REST en el diseñador de integraciones para abrir el panel de configuración de la tarea. En la sección Error Catcher, añade los detalles del receptor de errores. En el siguiente diagrama se muestra el captador de errores configurado para la tarea Llamar a un punto final REST:
Códigos de error
En la siguiente tabla se describen los errores que pueden producirse y las causas correspondientes. Application Integration usa los códigos de error canónicos definidos en google.rpc.Code
.
Para obtener información sobre los errores de integración de aplicaciones y las diferentes estrategias de gestión de errores, consulta Errores y gestión de errores.
Tipo de excepción estándar | Código canónico | Código HTTP | Descripción |
---|---|---|---|
FailedPreconditionException | FAILED_PRECONDITION |
400 | No se puede realizar la solicitud debido al estado actual del sistema. |
BadRequestException | INVALID_ARGUMENT |
400 | El cliente especificó un argumento que no es válido. Consulta el mensaje y los detalles del error para obtener más información. |
UnauthenticatedException | UNAUTHENTICATED |
401 | La solicitud no se ha autenticado porque el token de OAuth ha caducado, no es válido o no se ha encontrado. |
ForbiddenException | PERMISSION_DENIED |
403 | El cliente no tiene suficientes permisos. Esto puede ocurrir si el token de OAuth no tiene los permisos adecuados, el cliente no tiene los permisos necesarios o la API no se ha habilitado. |
NotFoundException | NOT_FOUND |
404 | No se ha encontrado un recurso especificado. |
AlreadyExistsException | ALREADY_EXISTS |
409 | El cliente ha intentado crear un recurso que ya existe. |
InternalError | INTERNAL |
500 | Error de servidor interno. Normalmente, se trata de un error del servidor. Esto puede ocurrir si alguna de las tareas o los activadores no se han configurado correctamente. |
UnimplementedException | UNIMPLEMENTED |
501 | El servidor no ha implementado el método de API. |
ServiceUnavailableException | UNAVAILABLE |
503 | Servicio no disponible. Normalmente, el servidor no está operativo. |
AbortedException | ABORTED |
409 | El tamaño de la respuesta es demasiado grande. |