Tarea Suspender

La tarea Suspender te permite pausar y reanudar la ejecución de una integración de forma temporal.

Durante una ejecución de integración, cuando el control alcanza una tarea de suspensión, la ejecución se detiene y todas las tareas posteriores a la tarea de suspensión se suspende. La integración reanuda la ejecución cuando ocurre cualquiera de los siguientes eventos:

  • Vencimiento el tiempo de suspensión especificado.
  • Recepción de una solicitud de ejecución de reanudación de la API de Suspensions.

También puedes configurar una variable de salida (Resultado de suspensión) para la tarea Suspender y establecerla en cualquier valor y usar el valor a fin de crear condiciones de ramificación para ejecutar las tareas descendentes.

Compara las tareas de aprobación, de suspensión y de temporizador

Las tres tareas (Aprobación, Suspender y Temporizador) realizan una función similar de pausar y reanudar una integración. Sin embargo, hay diferencias sutiles entre ellas. En la siguiente tabla, se describen las diferencias entre las tres tareas.

Tarea Aprobación Tarea Suspender Tarea Temporizador
No admite la reanudación automática de una integración y requiere intervención manual para reanudarla. Admite la reanudación manual y automática de una integración. Si no hay una intervención manual para revocar la suspensión, la integración reanudará de forma automática la ejecución después del vencimiento del límite de tiempo de suspensión. Solo admite la reanudación automática de una integración. La ejecución de la integración se reanuda automáticamente después de que se venza el límite de tiempo de suspensión.
No puede reanudar una integración a través de una llamada a la API. Debes resolver manualmente la suspensión mediante la IU de integraciones. Puede reanudar una integración mediante la API de Suspensions para las integraciones. Solo admite la reanudación automática de una integración.
Los usuarios reciben una notificación cuando se detiene una integración (suspendida). Los usuarios no reciben ninguna notificación cuando se detiene una integración (suspendida). Los usuarios no reciben ninguna notificación cuando se detiene una integración (suspendida).
Admite una variable de salida (booleana), que te permite realizar verificaciones condicionales antes de reanudar una integración. Sin embargo, la variable de salida solo puede tener el valor de true o false. Admite una variable de salida (string), que te permite realizar verificaciones condicionales antes de reanudar una integración. Puedes establecer cualquier valor en la variable de salida. No admite ninguna variable de salida.

Configura la tarea Suspender

Para configurar la tarea Suspender, realiza los siguientes pasos:

  1. En la IU de Apigee, selecciona tu organización de Apigee.
  2. Haz clic en Desarrollar > Integraciones.
  3. Elige una integración existente o crea una nueva haciendo clic en Crear integración.

    Si creas una integración nueva, haz lo siguiente:

    1. Escribe un nombre y una descripción en el diálogo Crear integración.
    2. En la lista de regiones compatibles, elige Región para la integración.
    3. Haz clic en Crear.

    Esto abrirá la integración en la página del diseñador de integración.

  4. En la barra de navegación Diseñador de integración, haz clic en +Agregar una tarea o un activador > Tareas para ver la lista de tareas disponibles.
  5. Haz clic y coloca el elemento de tarea Suspender en el editor de integración.
  6. Haz clic en el elemento de tarea Suspender en el diseñador para ver el panel de configuración de la tarea Suspender.
  7. Configura los campos restantes mediante las propiedades de configuración para la tarea, como se detalla en las tablas que aparecen a continuación.

    Los cambios en las propiedades se guardan de forma automática.

Propiedades de configuración

En la siguiente tabla, se describen las propiedades de la tarea Suspender.

Propiedad Tipo de datos Descripción
Suspension Time Integer Tiempo (en minutos) hasta que se debe suspender la ejecución de la integración. El límite máximo de tiempo es de 44,640 minutos (31 días), que también es el valor predeterminado.

Si la ejecución de la integración no se reanuda dentro del límite de tiempo especificado, la integración reanuda automáticamente la ejecución después del vencimiento del límite de tiempo y establece el valor de la variable Suspension result en Expired.

Suspension result String Una variable para almacenar el resultado de la tarea Suspender. Establecer el valor de esta variable es opcional. Puedes establecer esta variable en cualquier valor según tu requisito. Esta variable es útil si deseas tener más control sobre el flujo de ejecución de tu integración. Por ejemplo, puedes leer el resultado de la suspensión y configurar decisiones condicionales en función del valor de cualquiera de tus tareas descendentes.
Suspension Id String Un identificador único para la tarea Suspender. El valor de esta variable se establece de inmediato después de que se suspende la integración. Puedes obtener el valor del identificador desde la página Registros de ejecución en la IU de integración. También puedes obtener el valor del identificador del objeto de respuesta de una API si usas una API para activar la integración.

Puedes reanudar la ejecución de la integración mediante el ID de suspensión o mediante el ID de ejecución de la integración.

Revoca una suspensión con la API de Suspensiones

La API de Suspensiones te permite revocar una suspensión mediante una llamada a la API. Para revocar una suspensión con la API de Suspensiones, debes tener el ID de ejecución de la integración o el ID de suspensión de la tarea Suspender. Para revocar una suspensión, debes emitir una solicitud POST a la siguiente API:

https://REGION-integrations.googleapis.com/v1/{name=projects/PROJECT/locations/LOCATION/integrations/INTEGRATION_ID/executions/EXECUTION_ID/suspensions/SUSPENSION_ID}:lift
    

En esta API, INTEGRATION_ID es opcional. Sin embargo, debes proporcionar el EXECUTION_ID o el SUSPENSION_ID. Si no tienes ninguno de los valores de ID, puedes sustituirlo por -. En esta API, REGION, PROJECT y LOCATION son campos obligatorios.

Después de revocar la suspensión, la ejecución de la integración se reanuda y ejecuta las tareas descendentes después de la tarea Suspender.

En los siguientes ejemplos, se muestra cómo revocar una suspensión mediante la API de Suspensiones.

Ejemplo 1 Revoca una suspensión solo con el ID de suspensión

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"Approved"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/-/suspensions/c6a13a79-a918-41e2-82b9-32b5a010755a:lift

En este ejemplo, la variable Suspension result se establece en Approved para el ID de suspensión c6a13a79-a918-41e2-82b9-32b5a010755a.

Ejemplo 2 Revoca una suspensión con solo el ID de ejecución

En el siguiente comando de curl, se muestra cómo revocar una suspensión cuando solo tienes el ID de ejecución:

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"true"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/76a391e7-c801-45d7-8046-eab20d167ec5/suspensions/-:lift

En este ejemplo, la variable Suspension result se establece en true para el ID de ejecución 76a391e7-c801-45d7-8046-eab20d167ec5.

Ejemplo 3 Revoca una suspensión con el ID de ejecución y el ID de suspensión

En el siguiente comando de curl, se muestra cómo revocar una suspensión cuando tienes el ID de ejecución y el ID de suspensión:

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"{processname: "Release", owner: "John", status: "approved"};"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/9b721baa-0a23-4576-b2b6-d251d163ea6f/suspensions/f01815bf-ed18-4e01-9d41-cc2ce7861e95:lift

En este ejemplo, la variable Suspension result se establece en {processname: "Release", owner: "John", status: "approved"}; para el ID de suspensión f01815bf-ed18-4e01-9d41-cc2ce7861e95.

Estrategia de manejo de errores

Una estrategia de manejo de errores de una tarea específica la acción que se debe realizar si la tarea falla debido a un error temporal. Para obtener información sobre cómo usar una estrategia de manejo de errores y conocer los diferentes tipos de estrategias de manejo de errores, consulta Estrategias de manejo de errores.