Partilhar via


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.

Captura de tela que mostra a janela de criação de dependência.

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

Diagrama que mostra um exemplo de deslocamento.

Tamanho da dependência

Diagrama que mostra um exemplo de tamanho.

Auto-dependência

Diagrama que mostra um exemplo de autodependê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.

Diagrama que mostra um exemplo de dependência.

Dependência de si mesmo

O exemplo a seguir mostra um trabalho diário sem lacunas nos fluxos de saída do trabalho.

Diagrama que mostra um exemplo de autodependência sem lacunas nos fluxos de saída.

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.

Captura de tela que mostra as execuções do gatilho do Monitor.

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.

Captura de ecrã que mostra a vista de lista de dependências do Monitor.

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.

Captura de tela que mostra um gráfico de Gantt de dependências do monitor.

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.