Compartilhar via


Criar uma dependência de gatilho de janela em cascata

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

Este artigo fornece etapas para criar uma dependência em um gatilho de janela em cascata. Para obter informações gerais sobre gatilhos de Janela em Cascata, consulte Como criar um gatilho de janela em cascata.

Para criar uma cadeia de dependência e certificar-se de que um gatilho executará somente após a execução com êxito de outro gatilho no serviço, use esse recurso avançado para criar uma dependência de janela em cascata.

Para obter uma demonstração sobre como criar pipelines dependentes usando o gatilho periódico, assista ao seguinte vídeo:

Criar uma dependência na interface do usuário

Para criar dependência em um gatilho, selecione Gatilho > Avançado > Novo e escolha o gatilho para depender do deslocamento e tamanho apropriados. Selecione Concluir e publique as alterações para que as dependências entrem em vigor.

Screenshot of the dependency creation window.

Propriedades de dependência de janela em cascata

Um gatilho periódico 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 em Cascata.

Nome da Propriedade Descrição Tipo Necessário
type Todos os gatilhos da janela em cascata existentes são exibidos neste menu suspenso. Escolha o gatilho para assumir a dependência. TumblingWindowTriggerDependencyReference ou SelfDependencyTumblingWindowTriggerReference Sim
deslocamento Deslocamento do gatilho de dependência. Forneça um valor no formato de período, bem como deslocamentos negativos e positivos são permitidos. Essa propriedade será obrigatória se o gatilho estiver dependendo de si mesmo e em todos os outros casos for opcional. A autodependência deverá sempre ser um deslocamento negativo. Se nenhum valor for especificado, a janela será igual ao próprio gatilho. Timespan
(hh:mm:ss)
Autodependência: Sim
Outros: Não
tamanho Tamanho da janela em cascata de dependência. Forneça um valor de período positivo. Essa propriedade é opcional. Timespan
(hh:mm:ss)
Não

Observação

Um gatilho periódico pode depender de, no máximo, cinco outros gatilhos.

Propriedades de autodependência de janela em cascata

Nos cenários em que o gatilho não deverá 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 seja dependente do sucesso das execuções anteriores de si mesmo no período que abrange a hora anterior terá as propriedades indicadas no código a seguir.

Observação

Se o pipeline disparado depende da saída de pipelines em janelas disparadas anteriormente, recomendamos usar apenas a autodependência do gatilho periódico. Para limitar as execuções de gatilho paralelas, 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 e exemplos de uso

Veja abaixo as ilustrações dos cenários e do uso de propriedades de dependência da janela em cascata.

Deslocamento de dependência

Offset Example

Tamanho da dependência

Size example

Autodependência

Self-dependency

Dependência de outro gatilho de janela em cascata

Um trabalho de processamento diário de telemetria que depende de outro trabalho diário agregando a saída dos últimos sete dias e que gera fluxos de janela sem interrupção de sete dias:

Dependency example

Dependência de si próprio

Um trabalho diário sem lacunas nos fluxos de saída do trabalho:

Self-dependency example

Monitorar dependências

É possível monitorar a cadeia de dependência e as janelas correspondentes na página de monitoramento da execução de gatilho. Navegue até Monitoramento > Execuções de Gatilho. Se um gatilho periódico tiver dependências, o nome do gatilho terá um hiperlink para a exibição de monitoramento de dependência.

Monitor trigger runs

Clique no nome do gatilho para ver as dependências dele. O painel à direita mostra informações detalhadas da execução de gatilho, como RunID, horário da janela, status etc.

Monitor dependencies list view

Você pode ver o status das dependências e as janelas de cada gatilho dependente. Se um dos gatilhos de dependências falhar, você precisará executá-lo com êxito novamente para que o gatilho dependente seja executado.

Um gatilho periódico aguardará as dependências por sete dias antes de atingir o tempo limite. Após sete dias, a execução de gatilho falhará.

Observação

Um gatilho periódico não pode ser cancelado, enquanto estiver no estado Aguardando a dependência. A atividade dependente deve ser concluída antes que o gatilho periódico seja cancelado. Isso ocorre de propósito para garantir que as atividades dependentes possam ser concluídas uma vez iniciadas e ajuda a reduzir a probabilidade de resultados inesperados.

Para obter uma forma mais visual para ver a agenda de dependência do gatilho, selecione a exibição de Gantt.

Monitor dependencies gantt chart

As caixas transparentes mostram as janelas de dependências para cada gatilho dependente downstream, enquanto as caixas de cores sólidas acima mostram as execuções de janela individuais. Estas são algumas dicas para interpretar a exibição do gráfico de Gantt:

  • A caixa transparente é renderizada em azul quando as janelas dependentes estão no estado pendente ou de execução
  • Depois que todas as janelas forem executadas com sucesso para um gatilho dependente, a caixa transparente ficará verde
  • A caixa transparente é renderizada em vermelho quando uma janela dependente falha. Procure uma caixa vermelha sólida para identificar a execução da janela com falha

Para executar novamente uma janela na exibição de gráfico de Gantt, selecione a caixa de cor sólida da janela e um painel de ação será exibido com detalhes e opções de nova execução