Suspender tarefa

A tarefa Suspender permite pausar temporariamente e retomar a execução de uma integração.

Durante uma execução de integração, quando o controle alcança uma tarefa de suspensão, a execução é interrompida e todas as tarefas após a suspensão são suspensas. A Apigee retoma a execução quando qualquer um dos seguintes eventos ocorre:

  • Expiração do tempo de suspensão especificado.
  • Depois de receber uma solicitação de execução de retomada da API Suspensions.

Também é possível configurar uma variável de saída (resultado da Suspensão) para a tarefa Suspender e defini-la como qualquer valor e usar o valor para criar condições de ramificação para executar as tarefas downstream.

Comparação entre tarefas de aprovação, de suspensão e de timer

As três tarefas (Aprovação, Suspensão e Cronômetro) executam uma função semelhante de pausar e retomar uma integração. No entanto, há diferenças sutis entre elas. A tabela a seguir descreve as diferenças entre as três tarefas.

Tarefa "Aprovação" Suspender tarefa Tarefa cronômetro
Não é compatível com a retomada automática de uma integração e exige intervenção manual para retomar a integração. Aceita a retomada manual e automática de uma integração. Se não houver uma intervenção manual para revogar a suspensão, a integração retomará a execução automaticamente após o término do limite de tempo de suspensão. Aceita apenas a retomada automática de uma integração. A execução da integração será retomada automaticamente após o término do limite de tempo de suspensão.
Não é possível retomar uma integração por meio de uma chamada de API. Resolva manualmente a suspensão usando a IU de integrações. Pode retomar uma integração usando a API Suspensions para integrações. Aceita apenas a retomada automática de uma integração.
Os usuários recebem uma notificação quando uma integração é pausada (suspensa). Os usuários não recebem nenhuma notificação quando uma integração é pausada (suspensa). Os usuários não recebem nenhuma notificação quando uma integração é pausada (suspensa).
Aceita uma variável de saída (booleana), que permite realizar verificações condicionais antes de retomar uma integração. No entanto, a variável de saída só pode ter o valor de true ou false. Aceita uma variável de saída (string), que permite realizar verificações condicionais antes de retomar uma integração. É possível definir qualquer valor para a variável de saída. Não é compatível com nenhuma variável de saída.

Configurar a tarefa Suspender

Para configurar a tarefa Suspend, siga estas etapas:

  1. Na IU da Apigee, selecione sua organização da Apigee.
  2. Clique em Desenvolver > Integrações.
  3. Selecione uma integração existente ou clique em Criar integração.

    Caso você esteja criando uma nova integração, siga estas etapas:

    1. Digite um nome e uma descrição na caixa de diálogo Criar integração.
    2. Selecione uma Região para a integração na lista de regiões compatíveis.
    3. Clique em Criar.

    Isso abre a integração na página do designer de integração.

  4. Na barra de navegação do designer de integração, clique em +Adicionar uma tarefa/gatilho> Tarefas para conferir a lista de tarefas disponíveis.
  5. Clique e coloque o elemento de tarefa Suspend no editor de integração.
  6. Clique no elemento de tarefa Suspender no designer para visualizar o painel de configuração de tarefa Suspender.
  7. Configure os campos restantes usando as propriedades de configuração para a tarefa, conforme detalhado nas tabelas abaixo.

    As alterações nas propriedades são salvas automaticamente.

Propriedades de configuração

A tabela a seguir descreve as propriedades de configuração da tarefa Suspender.

Propriedade Tipo de dado Descrição
Suspension Time Inteiro Tempo (em minutos) até que a execução da integração precise ser suspensa. O limite máximo de tempo é 44640 minutos (31 dias), que também é o valor padrão.

Se a execução de integração não for retomada dentro do limite de tempo especificado, a Apigee retomará a execução automaticamente após o término do limite de tempo e definirá o valor da variável Suspension result como Expired.

Suspension result String Uma variável para armazenar o resultado da tarefa Suspender. Definir o valor para essa variável é opcional. É possível definir essa variável como qualquer valor com base no seu requisito. Essa variável é útil se você quer ter mais controle sobre o fluxo de execução da integração. Por exemplo, você pode ler o resultado da suspensão e configurar decisões condicionais com base no valor em qualquer uma das tarefas downstream.
Suspension Id String Um identificador exclusivo da tarefa Suspender. O valor dessa variável é definido imediatamente após a suspensão da integração. Você pode ver o valor do identificador na página registros de execução da IU de integração. Também é possível receber o valor do identificador no objeto de resposta de uma API se você estiver usando uma API para acionar a integração.

É possível retomar a execução da integração usando o ID de suspensão ou o ID de execução da integração.

Revogar uma suspensão com a API Suspensions

A API Suspensions permite revogar uma suspensão usando uma chamada de API. Para revogar uma suspensão com a API Suspensions, é necessário ter o ID de execução da integração ou o ID de suspensão da tarefa de suspensão. Para revogar uma suspensão, emita uma solicitação POST para a seguinte API:

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

Nessa API, o INTEGRATION_ID é opcional. No entanto, você precisa fornecer EXECUTION_ID ou SUSPENSION_ID. Se você não tiver nenhum dos valores de ID, substitua o valor por -. Nesta API, REGION, PROJECT e LOCATION são campos obrigatórios.

Depois de revogar a suspensão, a execução da integração é retomada e executa as tarefas downstream após a tarefa de suspensão.

Os exemplos a seguir mostram como revogar uma suspensão usando a API suspensions.

Exemplo 1: revogar uma suspensão apenas com o ID de suspensão

  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

Neste exemplo, a variável Suspension result está definida como Approved para o ID de suspensão c6a13a79-a918-41e2-82b9-32b5a010755a.

Exemplo 2: revogar uma suspensão apenas com o ID de execução

O comando curl a seguir mostra como revogar uma suspensão apenas com o ID de execução:

  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

Neste exemplo, a variável Suspension result está definida como true para o ID de execução 76a391e7-c801-45d7-8046-eab20d167ec5.

Exemplo 3: revogar uma suspensão com o ID de execução e o ID de suspensão

O comando curl a seguir mostra como revogar uma suspensão quando você tem o ID de execução e o ID de suspensão:

  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

Neste exemplo, a variável Suspension result está definida como {processname: "Release", owner: "John", status: "approved"}; para o ID de suspensão f01815bf-ed18-4e01-9d41-cc2ce7861e95.

Estratégia de solução de erros

A estratégia de solução de erros para uma tarefa especifica a ação a ser realizada se a tarefa falhar devido a um erro temporário. Para mais informações sobre como usar uma estratégia de tratamento de erros e conhecer os diferentes tipos de estratégias de tratamento de erros, consulte Estratégias de tratamento de erros.