Criar uma dependência de acionamento de janela em cascata
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Gorjeta
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
Este artigo fornece etapas para criar uma dependência em um gatilho de janela de tombamento. Para obter informações gerais sobre gatilhos de janela de tombamento, consulte Criar um gatilho de janela de queda.
Para criar uma cadeia de dependência e garantir que um gatilho seja executado somente após a execução bem-sucedida de outro gatilho dentro do serviço, use esse recurso avançado para criar uma dependência de janela de tombamento.
Para obter uma demonstração sobre como criar pipelines dependentes usando um gatilho de janela de tombamento, assista ao seguinte vídeo:
Criar uma dependência na interface do usuário
Para criar dependência em um gatilho, selecione Trigger>Advanced>New. Em seguida, escolha o gatilho do qual depender com o deslocamento e o tamanho apropriados. Selecione Concluir e publique as alterações para que as dependências entrem em vigor.
Propriedades de dependência da janela de tombamento
Um gatilho de janela de tombo com uma dependência tem as seguintes propriedades:
{
"name": "MyTriggerName",
"properties": {
"type": "TumblingWindowTrigger",
"runtimeState": <<Started/Stopped/Disabled - readonly>>,
"typeProperties": {
"frequency": <<Minute/Hour>>,
"interval": <<int>>,
"startTime": <<datetime>>,
"endTime": <<datetime - optional>>,
"delay": <<timespan - optional>>,
"maxConcurrency": <<int>> (required, max allowed: 50),
"retryPolicy": {
"count": <<int - optional, default: 0>>,
"intervalInSeconds": <<int>>,
},
"dependsOn": [
{
"type": "TumblingWindowTriggerDependencyReference",
"size": <<timespan - optional>>,
"offset": <<timespan - optional>>,
"referenceTrigger": {
"referenceName": "MyTumblingWindowDependency1",
"type": "TriggerReference"
}
},
{
"type": "SelfDependencyTumblingWindowTriggerReference",
"size": <<timespan - optional>>,
"offset": <<timespan>>
}
]
}
}
}
A tabela a seguir fornece a lista de atributos necessários para definir uma dependência de janela de tombamento.
Property name | Description | Type | Necessário |
---|---|---|---|
type |
Todos os gatilhos de janela de tombamento existentes são exibidos nesta lista suspensa. Escolha o gatilho para assumir a dependência. | TumblingWindowTriggerDependencyReference ou SelfDependencyTumblingWindowTriggerReference |
Sim |
offset |
Deslocamento do gatilho de dependência. Forneça um valor no formato timerange. São permitidas compensações negativas e positivas. Esta propriedade é obrigatória se o gatilho estiver dependendo de si mesmo. Em todos os outros casos, é opcional. A autodependência deve ser sempre uma compensação negativa. Se nenhum valor for especificado, a janela será a mesma que o próprio gatilho. | Timespan (hh:mm:ss) |
Auto-dependência: Sim Outros: Não |
size |
Tamanho da janela de queda de dependência. Forneça um valor de período de tempo positivo. Esta propriedade é opcional. | Timespan (hh:mm:ss) |
Não |
Nota
Um gatilho de janela de queda pode depender de um máximo de cinco outros gatilhos.
Propriedades de autodependência da janela de tombamento
Em cenários em que o gatilho não deve prosseguir para a próxima janela até que a janela anterior seja concluída com êxito, crie uma autodependência. Um gatilho de autodependência que depende do sucesso de execuções anteriores de si mesmo na hora anterior tem as propriedades indicadas no código a seguir.
Nota
Se o pipeline acionado depender da saída de pipelines em janelas acionadas anteriormente, recomendamos usar apenas a autodependência de gatilho de janela de tombamento. Para limitar execuções de gatilho paralelo, defina a simultaneidade máxima do gatilho.
{
"name": "DemoSelfDependency",
"properties": {
"runtimeState": "Started",
"pipeline": {
"pipelineReference": {
"referenceName": "Demo",
"type": "PipelineReference"
}
},
"type": "TumblingWindowTrigger",
"typeProperties": {
"frequency": "Hour",
"interval": 1,
"startTime": "2018-10-04T00:00:00Z",
"delay": "00:01:00",
"maxConcurrency": 50,
"retryPolicy": {
"intervalInSeconds": 30
},
"dependsOn": [
{
"type": "SelfDependencyTumblingWindowTriggerReference",
"size": "01:00:00",
"offset": "-01:00:00"
}
]
}
}
}
Cenários de uso e exemplos
Os cenários a seguir mostram o uso de propriedades de dependência de janela de tombamento.
Deslocamento de dependência
Tamanho da dependência
Auto-dependência
Dependência de outro gatilho de janela de tombo
O exemplo a seguir mostra um trabalho diário de processamento de telemetria que depende de outro trabalho diário que agrega os últimos sete dias de saída e gera fluxos de janela contínua de sete dias.
Dependência de si mesmo
O exemplo a seguir mostra um trabalho diário sem lacunas nos fluxos de saída do trabalho.
Monitorar dependências
Você pode monitorar a cadeia de dependência e as janelas correspondentes na página de monitoramento de execução de gatilho. Vá para Monitoramento>de execuções de gatilho. Se um gatilho de janela de tombamento tiver dependências, o nome do gatilho terá um hiperlink para uma exibição de monitoramento de dependência.
Clique no nome do gatilho para visualizar as dependências do gatilho. O painel à direita mostra informações de execução do gatilho, como ID de execução, hora da janela e status.
Você pode ver o status das dependências e janelas para cada gatilho dependente. Se um dos gatilhos de dependência falhar, você deverá executá-lo novamente com êxito para que o gatilho dependente seja executado.
Um gatilho de janela de queda aguarda as dependências por sete dias antes de atingir o tempo limite. Após sete dias, a execução do gatilho falha.
Nota
Um gatilho de janela de tombamento não pode ser cancelado enquanto estiver no estado Aguardando dependência . A atividade dependente deve terminar antes que o gatilho da janela de tombamento possa ser cancelado. Essa restrição é por design para garantir que as atividades dependentes possam ser concluídas assim que forem iniciadas. Também ajuda a reduzir a probabilidade de resultados inesperados.
Para obter uma maneira mais visual de exibir a agenda de dependência do gatilho, selecione a visualização Gantt.
As caixas transparentes mostram as janelas de dependência para cada gatilho dependente a jusante. As caixas de cores sólidas mostradas na imagem anterior mostram execuções de janela individuais. Aqui estão algumas dicas para interpretar a visualização do gráfico de Gantt:
- As caixas transparentes ficam azuis quando as janelas dependentes estão no estado Pendente ou em Execução .
- Depois que todas as janelas forem bem-sucedidas para um gatilho dependente, a caixa transparente ficará verde.
- As caixas transparentes ficam vermelhas quando uma janela dependente falha. Procure uma caixa vermelha sólida para identificar a janela de falha executada.
Para executar novamente uma janela na visualização de gráfico de Gantt, selecione a caixa de cor sólida para a janela. Um painel de ação aparece com informações e opções de repetição de execução.