Consulta los conectores compatibles para Application Integration.

Introducción al manejo de errores

En la integración de aplicaciones, los errores pueden ocurrir cuando pruebas y publicas una integración, o durante la ejecución de una integración. Estos errores pueden ocurrir debido a varios problemas del cliente y del servidor, y se clasifican de forma amplia de la siguiente manera:

  • Errores permanentes: Todos los errores del cliente, como errores de autenticación, errores de validación de datos, se consideran errores permanentes. Los errores permanentes provocan fallas permanentes de la tarea.
  • Errores temporales: Todos los errores del servidor, como HTTP 503 (servicio no disponible) o HTTP 400 (solicitud incorrecta), se consideran errores temporales. Los errores temporales provocan fallas en las tareas temporales.

Los mensajes de error aparecen en las siguientes ubicaciones:

  • Página de registros de ejecución: Muestra los errores detectados durante la ejecución de una integración. Cada ejecución de una integración tiene una entrada de registro separada. Para obtener información sobre la página Registros de ejecución, consulta Registros de ejecución.
  • Página de editor de integración: Muestra los errores detectados cuando publicas una integración. Los errores se muestran en la parte inferior de la página del editor de integración. Para obtener más información sobre la página del editor de integración, consulta Editor de integración.

Para obtener información sobre los códigos de error que puedes encontrar, consulta Códigos de error.

Métodos de manejo de errores

La integración de aplicaciones admite los siguientes métodos de manejo de errores para arrojar, detectar, reintentar y personalizar los errores encontrados en tu integración:

  • Estrategias de manejo de errores: La estrategia de manejo de errores de una tarea especifica la acción que se debe realizar si la tarea falla debido a un error temporal. Puedes especificar diferentes estrategias de manejo de errores para los modos de ejecución síncrono y asíncrono.
  • Detector de errores: El detector de errores define una forma personalizada de controlar la falla de un activador, una tarea o una condición perimetral identificada en tu integración. Puedes definir uno o más generadores de errores en una sola integración para controlar los errores de tareas o las fallas de ejecución. Cada detector de errores se puede invocar mediante un activador, llamado activador de detector de errores, para ejecutar el conjunto de tareas de integración configuradas personalizadas para resolver el error.

Puedes usar métodos de manejo de errores para los modos síncrono y asíncrono de la ejecución de integración:

  • Ejecuciones síncronas: En modo síncrono, el resultado de la ejecución de la integración está disponible poco después de que se ejecuta la integración. El modo síncrono es útil en situaciones en las que quieres que el resultado de la ejecución sea inmediato después de la ejecución de la integración. Los activadores que ejecutan la integración en el modo síncrono incluyen lo siguiente:
  • Ejecuciones asíncronas: Las ejecuciones asíncronas usan el modelo de activación y recuperación. El modo asíncrono es útil en situaciones en las que las integraciones pueden tardar mucho tiempo en ejecutarse o no es necesario el resultado de la ejecución de inmediato después de la ejecución de la integración. Los activadores que ejecutan la integración en el modo asíncrono incluyen los siguientes:

Práctica recomendada

Usa la estrategia de manejo de errores y el detector de errores en tu integración. En caso de error, la integración sigue la estrategia definida en la sección de manejo de errores. Después de agotar la estrategia de manejo de errores configurada, se activa la lógica de Error Catcher. Usa variables del sistema para capturar el valor del código de error y el mensaje de error que se enviará a tu flujo de captura de errores.

Ejemplo

Supongamos que tienes un flujo de integración para crear un pedido. Los pedidos nuevos se crean en Cloud SQL para MySQL. El flujo usa una tarea de conector (Create an order en este ejemplo) para conectarse a Cloud SQL para MySQL. En caso de una interrupción de la base de datos, la tarea del conector muestra errores cuando se insertan pedidos nuevos en la base de datos. Como práctica recomendada, debes usar la estrategia de manejo de errores y el detector de errores en tu integración.

Para agregar la estrategia de control de errores, haz clic en la tarea del conector en el diseñador de integración para abrir el panel de configuración de la tarea. En el siguiente diagrama, se muestra la estrategia de control de errores configurada para la tarea del conector Create an order:

Estrategia de manejo de errores para la tarea Crear un conector de pedidos Estrategia de manejo de errores para la tarea Crear un conector de pedidos

Para agregar la estrategia de manejo de errores, haz clic en la tarea Llamar a extremo de REST en el diseñador de integración para abrir el panel de configuración de la tarea. En el siguiente diagrama, se muestra la estrategia de manejo de errores configurada para la tarea Llamar al extremo REST:

Estrategia de manejo de errores para la tarea Call REST Endpoint Estrategia de manejo de errores para la tarea Call REST Endpoint

Para agregar el capturador de errores, haz clic en la tarea Llamar a extremo de REST en el diseñador de integración para abrir el panel de configuración de la tarea. En la sección Error Catcher, agrega los detalles del capturador de errores. En el siguiente diagrama, se muestra el detector de errores configurado para la tarea Llamar al extremo REST:

Detector de errores para la tarea Call REST Endpoint Detector de errores para la tarea Call REST Endpoint

Códigos de error

En la siguiente tabla, se describen los errores que podrías encontrar y las causas correspondientes de los errores. Application Integration usa los códigos de error canónicos definidos en google.rpc.Code.

Para obtener información sobre los errores de la integración de aplicaciones y las diferentes estrategias de manejo de errores, consulta Errores y manejo de errores.

Tipo de excepción estándar Código canónico Código HTTP Descripción
FailedPreconditionException FAILED_PRECONDITION 400 La solicitud no se puede ejecutar en el estado actual del sistema.
BadRequestException INVALID_ARGUMENT 400 El cliente especificó un argumento no válido. Verifica el mensaje de error y los detalles de errores para obtener más información.
UnauthenticatedException UNAUTHENTICATED 401 La solicitud no se autenticó debido a que el token de OAuth no es válido, falta o se venció.
ForbiddenException PERMISSION_DENIED 403 El cliente no cuenta con los permisos necesarios. Esto puede suceder si el token de OAuth no tiene los alcances correctos, el cliente no tiene los permisos necesarios o la API no se habilitó.
NotFoundException NOT_FOUND 404 No se encontró ningún recurso especificado.
AlreadyExistsException ALREADY_EXISTS 409 El recurso que el cliente intentó crear ya existe.
InternalError INTERNAL 500 Error del servidor interno Por lo general, un error de servidor. Esto puede suceder si alguna de las tareas o los activadores están configurados de forma incorrecta.
UnimplementedException UNIMPLEMENTED 501 El servidor no implementó el método de la API.
ServiceUnavailableException UNAVAILABLE 503 Servicio no disponible. Por lo general, el servidor no está en funcionamiento.
AbortedException ABORTED 409 El tamaño de la respuesta es demasiado grande.