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:
- Na IU da Apigee, selecione sua organização da Apigee.
- Clique em Desenvolver > Integrações.
- Selecione uma integração existente ou clique em Criar integração.
Caso você esteja criando uma nova integração, siga estas etapas:
- Digite um nome e uma descrição na caixa de diálogo Criar integração.
- Selecione uma Região para a integração na lista de regiões compatíveis.
- Clique em Criar.
Isso abre a integração na página do designer de integração.
- 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.
- Clique e coloque o elemento de tarefa Suspend no editor de integração.
- Clique no elemento de tarefa Suspender no designer para visualizar o painel de configuração de tarefa Suspender.
- 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
|
Número 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
|
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.