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 Como criar gatilhos 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 queda.
Para uma demonstração sobre como criar pipelines dependentes usando o gatilho de janela de queda, 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 e 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 Tumbling.
Nome da propriedade | Descrição | Tipo | Necessário |
---|---|---|---|
tipo | Todos os gatilhos de janela de tombo 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 de intervalo de tempo e compensações negativas e positivas são permitidas. Esta propriedade é obrigatória se o gatilho estiver dependendo de si mesmo e 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 tombo 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 terá 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
Abaixo estão ilustrações de cenários e 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
Um trabalho diário de processamento de telemetria que depende de outro trabalho diário que agrega a saída dos últimos sete dias e gera fluxos de janela rolantes de sete dias:
Dependência de si mesmo
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. Navegue até Monitoramento > de execuções de gatilho. Se um gatilho de Janela de Tombamento tiver dependências, o Nome do Gatilho exibirá um hiperlink para a exibição de monitoramento de dependência.
Clique no nome do gatilho para visualizar as dependências do gatilho. O painel direito mostra informações detalhadas de execução do gatilho, como RunID, hora da janela, status e assim por diante.
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 tombo aguardará as dependências por sete dias antes de atingir o tempo limite. Após sete dias, a execução do gatilho falhará.
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 queda possa ser cancelado. Isso ocorre por design para garantir que as atividades dependentes possam ser concluídas uma vez iniciadas e ajuda a reduzir a probabilidade de resultados inesperados.
Para visualizar mais visualmente 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 do fluxo, enquanto as caixas coloridas sólidas acima mostram execuções de janelas individuais. Aqui estão algumas dicas para interpretar a visualização do gráfico de Gantt:
- A caixa transparente fica azul quando as janelas dependentes estão em estado pendente ou em execução
- Depois que todas as janelas forem bem-sucedidas para um gatilho dependente, a caixa transparente ficará verde
- A caixa transparente fica vermelha quando alguma janela dependente falha. Procure uma caixa vermelha sólida para identificar a execução da janela de falha
Para executar novamente uma janela no modo de exibição de gráfico de Gantt, selecione a caixa de cor sólida para a janela e um painel de ação será exibido com detalhes e opções de nova execução