Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A maioria das atividades de pipeline no Data Factory oferece suporte a repetições automáticas. Quando uma atividade falha devido a um erro transitório (uma API com limitação de taxa, uma breve indisponibilidade do serviço ou uma dependência instável), você pode configurá-la para tentar novamente automaticamente um número definido de vezes antes de marcar a atividade como com falha.
Você também pode controlar quanto tempo a atividade espera entre as tentativas, definir o número de tentativas e esperar individualmente para cada atividade, para ajustar o comportamento das tentativas com precisão em todo o seu fluxo de trabalho.
Configurar a repetição em uma atividade
Para configurar o comportamento de repetição para uma atividade:
Selecione a atividade na tela do pipeline.
Na guia Geral do painel propriedades, selecione a caixa de seleção Habilitar novas tentativas para ativar a funcionalidade de repetição.
Defina o campo Repetir para o número de tentativas de repetição. Insira um valor entre 1 e 1000. O valor padrão é 1.
Em tipo de intervalo de tentativa, selecione Atraso Fixo ou Crescente para controlar como o tempo de espera entre as tentativas é calculado. Depois, defina os campos de intervalo para o tipo escolhido. Consulte intervalos de nova tentativa para mais detalhes.
Opcionalmente, configure as condições de repetição (versão prévia) para controlar quando novas tentativas ocorrem com base em critérios de erro específicos.
Intervalos de tentativa
O intervalo entre tentativas define por quanto tempo uma atividade espera entre as tentativas. Use Fixed para falhas breves e previsíveis. Use Atraso crescente para interrupções mais longas. Implementa um recuo exponencial, onde o tempo de espera aumenta a cada tentativa, dando aos serviços upstream progressivamente mais tempo para se recuperar.
A configuração Tipo de intervalo de repetição controla qual abordagem usar.
| Tipo | Behavior |
|---|---|
| Fixo (padrão) | Espera o mesmo número de segundos entre cada tentativa. |
| Atraso Crescente | Utiliza retardo exponencial: cada retentativa aguarda por um intervalo aleatório dentro de uma faixa que cresce exponencialmente, até um máximo configurável. |
Correção
Quando você seleciona Fixo, a atividade espera o mesmo número de segundos entre cada nova tentativa. Use esse tipo quando falhas são breves e previsíveis.
Defina Intervalo de repetição (seg) com o número de segundos de espera. O padrão é 30 segundos.
Atraso crescente
Quando você seleciona Atraso crescente, o tempo de espera aumenta exponencialmente a cada tentativa, um padrão conhecido como recuo exponencial. Esse padrão dá aos serviços upstream progressivamente mais tempo para se recuperar, reduz a carga repetida em sistemas em dificuldades e permite que os dutos se recuperem sozinhos de interrupções mais longas sem intervenção manual.
O mecanismo de retentativa seleciona um intervalo aleatório dentro de uma faixa em expansão exponencial antes de cada tentativa:
| Retry | Alcance mínimo | Alcance máximo |
|---|---|---|
| 1 | max(0, intervalo mínimo) | min(intervalo, intervalo máximo) |
| 2 | max(intervalo, intervalo mínimo) | min(2 × intervalo, intervalo máximo) |
| 3 | max( intervalo de 2 ×, intervalo mínimo) | min(4 × intervalo, intervalo máximo) |
| 4 | máx( intervalo de 4 ×, intervalo mínimo) | min( intervalo × 8, intervalo máximo) |
| … | … | … |
O intervalo dobra a cada tentativa até que o limite superior atinja o intervalo máximo entre tentativas, depois disso, todas as tentativas restantes aguardam esse intervalo máximo. A seleção aleatória dentro de cada intervalo reduz a chance de que novas tentativas simultâneas do pipeline entrem em conflito no mesmo sistema de origem no mesmo instante.
Dois campos estão disponíveis quando Atraso crescente é selecionado:
| Campo | Description | Default |
|---|---|---|
| Intervalo de tentativa (seg) | O intervalo inicial. Define a base do intervalo de recuo. | 30 segundos |
| Intervalo máximo de tentativa (seg) | O limite superior do intervalo de espera. Retentativas nunca esperam mais do que esse valor. | 3600 segundos |
Note
Campos de intervalo de tentativa não suportam expressões dinâmicas. Os valores devem ser inteiros estáticos.
Configurar condições de nova tentativa (prévia)
Por padrão, uma atividade é repetida em caso de qualquer falha. Use condições de nova tentativa para especificar quais erros disparam uma nova tentativa. Essa abordagem ajuda a evitar desperdiçar tentativas em erros que não são resolvidos, como falhas de autenticação.
Para adicionar uma condição de repetição:
- Na seção Condições de repetição (versão prévia), selecione o + botão para adicionar uma nova linha de condição.
- Escolha um campo para avaliar:
- Mensagem de erro: o conteúdo do texto da mensagem de erro.
- Tipo de falha: A categoria de falha, como erro do usuário ou erro do sistema.
- Código de erro: O código de erro específico retornado, como 429 para limitação de taxa.
- Selecione um Operador para definir o tipo de correspondência, como Contém.
- Insira um valor com o qual corresponder.
- Use a coluna And/Or para combinar várias condições. Selecione E para exigir que todas as condições sejam atendidas, ou Ou para tentar novamente quando qualquer condição for atendida.
Por exemplo, para tentar novamente somente em erros de limite de taxa, adicione uma condição com Field definido como Error code, Operator definido como Contains e Value definido como 429.
Importante
O intervalo de repetição é executado antes que a condição seja avaliada. Por exemplo, se você definir um intervalo de repetição de 1 hora e a condição de repetição não for atendida, o pipeline ainda aguardará a hora inteira antes de prosseguir para a próxima atividade ou encerrar a execução do pipeline.
Dica
Quando você não especifica as condições de retentativa, a atividade é repetida em caso de qualquer falha. Adicione condições para ser mais seletivo sobre quais erros disparam novas tentativas.
Limitações de repetição conhecidas
- Suporte à atividade: há suporte para novas tentativas condicionais para tipos de atividade específicos, incluindo atividades de cópia de dados, notebook, fluxo de dados e procedimento armazenado.
- Propriedades de erro: as condições de repetição podem corresponder ao código de erro, à mensagem de erro e ao tipo de falha. Nem todos os campos de erro específicos do conector estão disponíveis para correspondência.