Partilhar via


Execução de pipelines e disparadores no Azure Data Factory ou Azure Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Sugestão

Experimente Data Factory no Microsoft Fabric, uma solução de análise completa para empresas. Microsoft Fabric abrange tudo, desde a movimentação de dados até à ciência de dados, análises em tempo real, inteligência empresarial e relatórios. Saiba como iniciar um novo teste gratuitamente!

Uma execução de pipeline no Azure Data Factory e Azure Synapse define uma instância de execução de um pipeline. Por exemplo, suponha que tenha um pipeline que se executa às 8:00, 9:00 e 10:00 da manhã. Neste caso, há três execuções separadas da linha de produção. Cada execução de canal tem um ID único de execução de canal. Um ID de execução é um GUID que define exclusivamente essa execução de pipeline específica.

As execuções do pipeline são normalmente instanciadas ao passar argumentos para parâmetros que você define no pipeline. Pode executar uma pipeline manualmente ou usando um trigger. Este artigo fornece detalhes sobre ambas as maneiras de executar um pipeline.

Criar gatilhos com a interface de utilizador

Para acionar manualmente um pipeline ou configurar um novo trigger agendado, de janela deslizante, de evento de armazenamento ou de evento personalizado, selecione Adicionar trigger na parte superior do editor de pipeline.

Mostra como adicionar um novo gatilho com a interface do usuário a partir do editor de pipeline.

Se optar por acionar manualmente o pipeline, ele será executado imediatamente. Caso contrário, se você escolher Novo/Editar, será solicitado com a janela adicionar gatilhos para escolher um gatilho existente para editar ou criar um novo gatilho.

Mostra a janela de adicionar gatilhos destacando onde criar um novo gatilho.

Verá a janela de configuração do gatilho, permitindo-lhe escolher o tipo de gatilho.

Mostra a nova janela de configuração de gatilho com a lista suspensa de tipos a mostrar os vários tipos de gatilhos que pode criar.

Leia mais sobre agendamento, janela de tombamento, evento de armazenamento e gatilhos de eventos personalizados abaixo.

Execução manual

A execução manual de um pipeline também é conhecida como execução sob demanda .

Por exemplo, considere que tem uma pipeline básica chamada copyPipeline que deseja executar. A tubulação tem uma única atividade que copia de uma pasta de origem de armazenamento Azure Blob para uma pasta de destino no mesmo armazenamento. A seguinte definição JSON mostra este exemplo de pipeline:

{
    "name": "copyPipeline",
    "properties": {
        "activities": [
            {
                "type": "Copy",
                "typeProperties": {
                    "source": {
                        "type": "BlobSource"
                    },
                    "sink": {
                        "type": "BlobSink"
                    }
                },
                "name": "CopyBlobtoBlob",
                "inputs": [
                    {
                        "referenceName": "sourceBlobDataset",
                        "type": "DatasetReference"
                    }
                ],
                "outputs": [
                    {
                        "referenceName": "sinkBlobDataset",
                        "type": "DatasetReference"
                    }
                ]
            }
        ],
        "parameters": {
            "sourceBlobContainer": {
                "type": "String"
            },
            "sinkBlobContainer": {
                "type": "String"
            }
        }
    }
}

Na definição JSON, o pipeline recebe dois parâmetros: sourceBlobContainer e sinkBlobContainer. Você passa valores para esses parâmetros em tempo de execução.

Execução manual com outras APIs/SDKs

Você pode executar manualmente o pipeline usando um dos seguintes métodos:

  • SDK para .NET
  • Módulo do Azure PowerShell
  • API REST
  • Python SDK

SDK para .NET

O seguinte exemplo de chamada mostra como executar o seu pipeline manualmente usando o SDK .NET:

client.Pipelines.CreateRunWithHttpMessagesAsync(resourceGroup, dataFactoryName, pipelineName, parameters)

Para obter um exemplo completo, consulte Guia de início rápido: criar uma fábrica de dados usando o SDK do .NET.

Observação

Você pode usar o SDK do .NET para invocar pipelines do Azure Functions, de seus serviços Web e assim por diante.

Azure PowerShell

Observação

Recomendamos que utilize o módulo Azure Az PowerShell para interagir com o Azure. Para começar, veja Install Azure PowerShell. Para aprender a migrar para o módulo Az PowerShell, consulte Migrate Azure PowerShell from AzureRM to Az.

O comando de exemplo a seguir mostra como executar manualmente seu pipeline usando o Azure PowerShell:

Invoke-AzDataFactoryV2Pipeline -DataFactory $df -PipelineName "Adfv2QuickStartPipeline" -ParameterFile .\PipelineParameters.json -ResourceGroupName "myResourceGroup"

Você passa parâmetros no corpo da carga útil da solicitação. No SDK .NET, no Azure PowerShell e no SDK Python, passa valores num dicionário que é passado como argumento para a chamada.

{
  "sourceBlobContainer": "MySourceFolder",
  "sinkBlobContainer": "MySinkFolder"
}

O payload de resposta é um ID único da execução da pipeline.

{
  "runId": "0448d45a-a0bd-23f3-90a5-bfeea9264aed"
}

Para um exemplo completo, consulte Quickstart: Criar uma fábrica de dados usando o Azure PowerShell.

Python SDK

Para um exemplo completo, consulte Quickstart: Create a data factory and pipeline using Python

API REST

O seguinte exemplo de comando mostra-lhe como executar a sua pipeline utilizando manualmente a API REST:

POST
https://management.azure.com/subscriptions/mySubId/resourceGroups/myResourceGroup/providers/Microsoft.DataFactory/factories/myDataFactory/pipelines/copyPipeline/createRun?api-version=2017-03-01-preview

Para um exemplo completo, veja Quickstart: Create a data factory by using the REST API.

Tipos de gatilho

Os gatilhos são outra maneira de executar uma execução de pipeline. Os gatilhos representam uma unidade de processamento que determina quando uma execução do pipeline precisa ser iniciada. Atualmente, o serviço suporta três tipos de gatilhos.

  • Gatilho de agenda: um gatilho que invoca um pipeline em uma agenda de relógio de parede.

  • Gatilho de janela de queda: um gatilho que opera em um intervalo periódico, mantendo também o estado.

  • Gatilho baseado em evento: um gatilho que responde a um evento.

Pipelines e gatilhos têm uma relação muitos-para-muitos (exceto para o gatilho de janela de queda). Múltiplos gatilhos podem iniciar um único pipeline, ou um único gatilho pode iniciar múltiplos pipelines. Na definição de trigger seguinte, a propriedade pipelines refere-se a uma lista de pipelines que são acionadas pelo trigger em particular. A definição da propriedade inclui valores para os parâmetros do pipeline.

Definição básica de disparador

{
    "properties": {
        "name": "MyTrigger",
        "type": "<type of trigger>",
        "typeProperties": {...},
        "pipelines": [
            {
                "pipelineReference": {
                    "type": "PipelineReference",
                    "referenceName": "<Name of your pipeline>"
                },
                "parameters": {
                    "<parameter 1 Name>": {
                        "type": "Expression",
                        "value": "<parameter 1 Value>"
                    },
                    "<parameter 2 Name>": "<parameter 2 Value>"
                }
            }
        ]
    }
}

Programar disparador

Um gatilho de agendamento executa pipelines com base num horário de relógio de parede. O gatilho suporta opções periódicas e avançadas de calendário. Por exemplo, o gatilho suporta intervalos como "semanalmente" ou "segunda-feira às 17:00 e quinta-feira às 21:00". O gatilho de agendamento é flexível porque o padrão do conjunto de dados é agnóstico e o gatilho não discerne entre dados de séries temporais e não séries temporais.

Para obter mais informações sobre gatilhos de agendamento e, por exemplo, consulte Criar um gatilho que executa um pipeline em uma agenda.

Definição de trigger de agendamento

Quando cria um acionador de agenda, especifica o agendamento e a recorrência usando uma definição JSON.

Para que o acionador do seu cronograma inicie a execução de um pipeline, inclua uma referência ao pipeline específico na definição do acionador. Pipelines e triggers têm uma relação de muitos para muitos. Vários disparadores podem iniciar um único pipeline. Um único gatilho pode iniciar múltiplas pipelines.

{
  "properties": {
    "type": "ScheduleTrigger",
    "typeProperties": {
      "recurrence": {
        "frequency": <<Minute, Hour, Day, Week>>,
        "interval": <<int>>, // How often to fire
        "startTime": <<datetime>>,
        "endTime": <<datetime>>,
        "timeZone": "UTC",
        "schedule": { // Optional (advanced scheduling specifics)
          "hours": [<<0-24>>],
          "weekDays": [<<Monday-Sunday>>],
          "minutes": [<<0-60>>],
          "monthDays": [<<1-31>>],
          "monthlyOccurrences": [
            {
              "day": <<Monday-Sunday>>,
              "occurrence": <<1-5>>
            }
          ]
        }
      }
    },
  "pipelines": [
    {
      "pipelineReference": {
        "type": "PipelineReference",
        "referenceName": "<Name of your pipeline>"
      },
      "parameters": {
        "<parameter 1 Name>": {
          "type": "Expression",
          "value": "<parameter 1 Value>"
        },
        "<parameter 2 Name>": "<parameter 2 Value>"
      }
    }
  ]}
}

Importante

A propriedade parameters é uma propriedade obrigatória do elemento pipelines. Se o seu pipeline não aceitar quaisquer parâmetros, deve incluir uma definição JSON vazia para a propriedade parameters.

Visão geral do esquema

A tabela a seguir fornece uma visão geral de alto nível dos principais elementos do esquema relacionados à recorrência e ao agendamento de um gatilho:

Propriedade JSON Descrição
startTime Um valor de data-hora. Para agendas básicas, o valor da propriedade startTime se aplica à primeira ocorrência. Para horários complexos, o acionador começa não antes do valor especificado startTime.
Tempo de Fim A data e hora de término para o gatilho. O gatilho não é executado após a data e hora de término especificadas. O valor da propriedade não pode estar no passado.
Fuso horário O fuso horário. Para obter uma lista de fusos horários suportados, consulte Criar um gatilho que executa um pipeline em uma agenda.
Recorrência Um objeto de recorrência que especifica as regras de recorrência para o gatilho. O objeto de recorrência suporta os elementos frequency, interval, endTime, count e schedule. Quando um objeto de recorrência é definido, o elemento frequência é necessário. Os outros elementos do objeto de recorrência são opcionais.
FREQUÊNCIA A unidade de frequência na qual o disparador se repete. Os valores suportados incluem "minuto", "hora", "dia", "semana" e "mês".
intervalo Um número inteiro positivo que representa o intervalo para o valor de frequência. O valor de frequência determina com que frequência o gatilho é executado. Por exemplo, se o intervalo for 3 e a frequência for "semana", o acionador ocorre a cada três semanas.
Horário O cronograma de recorrência do acionador. Um trigger com um valor de frequência especificado altera a sua recorrência com base num calendário de recorrência. A propriedade agenda contém modificações para a recorrência que são baseadas em minutos, horas, dias da semana, dias do mês e número da semana.

Observação

Para fusos horários que observam o horário de verão, a hora de ativação ajusta-se automaticamente durante a mudança que ocorre duas vezes por ano, se a recorrência estiver definida como Dias ou superior. Para desativar a alteração do horário de verão, selecione um fuso horário que não observe o horário de verão, por exemplo, UTC.

O ajuste do horário de verão só acontece para um gatilho com a recorrência definida como Dias ou acima. Se o gatilho estiver definido como frequência de Horas ou Minutos , ele continuará a disparar em intervalos regulares.

Exemplo de gatilho de agendamento

{
  "properties": {
    "name": "MyTrigger",
    "type": "ScheduleTrigger",
    "typeProperties": {
      "recurrence": {
        "frequency": "Hour",
        "interval": 1,
        "startTime": "2017-11-01T09:00:00-08:00",
        "endTime": "2017-11-02T22:00:00-08:00"
      }
    },
    "pipelines": [{
        "pipelineReference": {
          "type": "PipelineReference",
          "referenceName": "SQLServerToBlobPipeline"
        },
        "parameters": {}
      },
      {
        "pipelineReference": {
          "type": "PipelineReference",
          "referenceName": "SQLServerToAzureSQLPipeline"
        },
        "parameters": {}
      }
    ]
  }
}

Padrões, limites e exemplos de esquema

Propriedade JSON Tipo Obrigatório Valor predefinido Valores válidos Exemplo
startTime corda Sim Nenhum Datas e horas ISO 8601 "startTime" : "2013-01-09T09:30:00-08:00"
Recorrência objeto Sim Nenhum Um objeto de recorrência "recurrence" : { "frequency" : "monthly", "interval" : 1 }
intervalo número Não 1 1 a 1000 "interval":10
Tempo de Fim corda Sim Nenhum Um valor de data-hora que representa um momento no futuro "endTime" : "2013-02-09T09:30:00-08:00"
Horário objeto Não Nenhum Um objeto schedule "schedule" : { "minute" : [30], "hour" : [8,17] }

propriedade startTime

A tabela a seguir mostra como a propriedade startTime controla uma execução de gatilho:

valor de startTime Recorrência sem programação Recorrência com agendamento
A hora de início está no passado Calcula o primeiro tempo de execução futuro após o tempo de início e executa nesse momento.

Executa execuções subsequentes calculadas a partir do tempo da última execução.

Veja o exemplo que se segue a esta tabela.
O disparador começa não antes de a hora de início especificada. A primeira ocorrência é baseada no cronograma, calculado a partir da hora de início.

Executa execuções subsequentes com base no cronograma de recorrência.
A hora de início está no futuro ou no momento atual Corre uma vez no horário de início especificado.

Executa execuções subsequentes calculadas a partir do tempo da última execução.
O gatilho começa não antes da hora de início especificada. A primeira ocorrência é baseada no cronograma, calculado a partir da hora de início.

Executa execuções subsequentes com base no cronograma de recorrência.

Vamos ver um exemplo do que acontece quando a hora de início está no passado, com uma recorrência, mas sem um cronograma. Assuma que a hora atual é 2017-04-08 13:00, a hora de início é 2017-04-07 14:00, e a recorrência é a cada dois dias. (O valor de recorrência é definido configurando a propriedade frequência para "dia" e a propriedade intervalo para 2.) Note que o valor de startTime está no passado e ocorre antes do tempo atual.

Nessas condições, a primeira execução ocorre em 09-04-2017 às 14:00. O motor de agendamento calcula as ocorrências de execução a partir da hora de início. Quaisquer instâncias no passado são descartadas. O motor utiliza a próxima instância que ocorre no futuro. Neste cenário, a hora de início é 07-04-2017 às 14:00. A próxima instância é dois dias a partir desse horário, que é em 2017-04-09 às 14:00.

O tempo de execução inicial é o mesmo, quer startTime seja 2017-04-05 14:00 ou 2017-04-01 14:00. Após a primeira execução, as execuções subsequentes são calculadas utilizando o agendamento. Portanto, as execuções subsequentes são em 2017-04-11 às 14:00, depois em 2017-04-13 às 14:00, depois em 2017-04-15 às 14:00, e assim por diante.

Finalmente, quando horas ou minutos não são definidos na programação de um gatilho, as horas ou minutos da primeira execução são usados como padrão.

propriedade de agendamento

Você pode usar schedule para limitar o número de execuções de gatilho. Por exemplo, se um gatilho com uma frequência mensal estiver agendado para ser executado apenas no dia 31, o gatilho será executado apenas nos meses que têm um trigésimo primeiro dia.

Pode também usar o agendamento para expandir o número de execuções do trigger. Por exemplo, um trigger com uma frequência mensal que está programado para ser executado nos dias 1 e 2 do mês, é executado no primeiro e segundo dias do mês, em vez de uma vez por mês.

Se vários elementos de agenda forem especificados, a ordem de avaliação é do maior para o menor ajuste da agenda: número da semana, dia do mês, dia da semana, hora, minuto.

A tabela seguinte descreve os elementos de programação em detalhe.

Elemento JSON Descrição Valores válidos
minutos Minutos de cada hora em que o acionador é executado. - Inteiro
- Vetor de inteiros
horas As horas do dia em que o gatilho é executado. - Inteiro
- Vetor de inteiros
dias da semana Dias da semana em que o desencadeador é executado. O valor só pode ser especificado com uma frequência semanal.
-Segunda-feira
-Terça-feira
-Quarta-feira
-Quinta-feira
-Sexta-feira
- Sábado
- Domingo
- Matriz de valores de dias (tamanho máximo da matriz é 7)

Os valores dos dias não fazem distinção entre maiúsculas e minúsculas
mensaisOcorrências Dias do mês em que o disparo ocorre. O valor só pode ser especificado com uma frequência mensal. - Matriz de objetos monthlyOccurrence : { "day": day, "occurrence": occurrence }
- O atributo dia é o dia da semana em que o disparador é executado. Por exemplo, uma propriedade monthlyOccurrences com um valor day de {Sunday} significa todos os domingos do mês. O atributo day é obrigatório.
- O atributo ocorrência é a ocorrência do dia especificado durante o mês. Por exemplo, uma propriedade monthlyOccurrences com valores de dia e ocorrência significa {Sunday, -1} o último domingo do mês. O atributo ocorrência é opcional.
mêsDias Dia do mês em que o disparador é executado. O valor só pode ser especificado com uma frequência mensal. - Qualquer valor <= -1 e >= -31
- Qualquer valor >= 1 e <= 31
- Coluna de valores

Gatilho de janela deslizante

Acionadores de janela deslizante são um tipo de acionador que dispara em intervalos de tempo periódicos a partir de um horário de início especificado, enquanto mantêm o estado. As janelas de tombamento são uma série de intervalos de tempo de tamanho fixo, não sobrepostos e contíguos.

Para mais informações sobre gatilhos de janela em cascata e, para exemplos, consulte Criar um gatilho de janela em cascata.

Exemplos de agendas de recorrência do gatilho

Esta seção fornece exemplos de cronogramas de recorrência. Foca-se no objeto cronograma e nos seus elementos.

Os exemplos assumem que o valor do intervalo é 1 e que o valor da frequência está correto de acordo com a definição do cronograma. Por exemplo, não pode ter um valor de frequência de "dia" e também uma modificação de diasDoMês no objeto agendamento. Estes tipos de restrições são descritos na tabela na seção anterior.

Exemplo Descrição
{"hours":[5]} Corra às 5:00 da manhã todos os dias.
{"minutes":[15], "hours":[5]} Corra às 5h15 da manhã todos os dias.
{"minutes":[15], "hours":[5,17]} Corre às 5:15 da manhã e às 5:15 da tarde todos os dias.
{"minutes":[15,45], "hours":[5,17]} Corre às 5:15, 5:45, 17:15 e 17:45 todos os dias.
{"minutes":[0,15,30,45]} Executar de 15 em 15 minutos.
{hours":[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]} Executar a cada hora.

Este gatilho executa-se a cada hora. Os minutos são controlados pelo valor startTime , quando um valor é especificado. Se um valor não for especificado, os minutos são controlados pela hora de criação. Por exemplo, se a hora de início ou a hora de criação (a que se aplicar) for 12:25 da tarde, o acionador é executado às 00:25, 01:25, 02:25, ..., e assim sucessivamente até às 23:25.

Este agendamento é equivalente a ter um gatilho com um valor de frequência de "hora", um valor de intervalo de 1, e sem agendamento. Esta programação pode ser usada com diferentes valores de frequência e intervalo para criar outros gatilhos. Por exemplo, quando o valor de frequência é "mês", a programação é executada apenas uma vez por mês, em vez de todos os dias quando o valor de frequência é "dia".
{"minutes":[0]} Executar de hora a hora, à hora certa.

Este acionador é executado a cada hora, na hora certa, começando às 00:00, 01:00, 02:00 e assim sucessivamente.

Este horário é equivalente a um gatilho com um valor de frequência de "hora" e um valor startTime de zero minutos, e nenhum horário , mas um valor de frequência de "dia". Se o valor de frequência for "semana" ou "mês", o cronograma será executado apenas um dia por semana ou um dia por mês, respectivamente.
{"minutes":[15]} Executar aos 15 minutos de cada hora.

Este gatilho executa a cada hora, 15 minutos após a hora, começando às 00:15, 01:15, 02:15, e assim por diante, e terminando às 23:15.
{"hours":[17], "weekDays":["saturday"]} Corre às 17:00 aos sábados todas as semanas.
{"hours":[17], "weekDays":["monday", "wednesday", "friday"]} Execute às 17:00 na segunda-feira, quarta-feira e sexta-feira de cada semana.
{"minutes":[15,45], "hours":[17], "weekDays":["monday", "wednesday", "friday"]} Correm às 17:15 e às 17:45, às segundas, quartas e sextas-feiras todas as semanas.
{"minutes":[0,15,30,45], "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Executa a cada 15 minutos nos dias úteis.
{"minutes":[0,15,30,45], "hours": [9, 10, 11, 12, 13, 14, 15, 16] "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Funcionam de 15 em 15 minutos nos dias úteis, entre as 9:00 e as 16:45.
{"weekDays":["tuesday", "thursday"]} Correr às terças-feiras e quintas-feiras à hora especificada de início.
{"minutes":[0], "hours":[6], "monthDays":[28]} Execute às 6:00 da manhã no vigésimo oitavo dia de cada mês (assumindo um valor frequency de "mês").
{"minutes":[0], "hours":[6], "monthDays":[-1]} Execute às 6:00 no último dia do mês.

Para executar um acionador no último dia de um mês, utilize -1 em vez de dia 28, 29, 30 ou 31.
{"minutes":[0], "hours":[6], "monthDays":[1,-1]} Executar às 6:00 no primeiro e último dia de cada mês.
{monthDays":[1,14]} Execute no primeiro e décimo quarto dia de cada mês na hora de início especificada.
{"minutes":[0], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Executar na primeira sexta-feira de cada mês às 5:00.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Execute na primeira sexta-feira de cada mês, à hora de início especificada.
{"monthlyOccurrences":[{"day":"friday", "occurrence":-3}]} Execute na terceira sexta-feira do final do mês, todos os meses, à hora de início especificada.
{"minutes":[15], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Ocorre na primeira e na última sexta-feira de cada mês às 5:15.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Execute na primeira e última sexta-feira de cada mês na hora de início especificada.
{"monthlyOccurrences":[{"day":"friday", "occurrence":5}]} Executar na quinta sexta-feira de cada mês à hora de início especificada.

Quando não há uma quinta sexta-feira num mês, o pipeline não funciona. Para executar o acionador na última sexta-feira do mês que ocorrer, considere usar -1 em vez de 5 para o valor de ocorrência.
{"minutes":[0,15,30,45], "monthlyOccurrences":[{"day":"friday", "occurrence":-1}]} Execute a cada 15 minutos na última sexta-feira do mês.
{"minutes":[15,45], "hours":[5,17], "monthlyOccurrences":[{"day":"wednesday", "occurrence":3}]} Executa às 5:15, 5:45, 17:15 e 17:45 na terceira quarta-feira de cada mês.

Gatilho baseado em evento

Um acionador baseado em eventos executa pipelines em resposta a um evento. Do ponto de vista do comportamento, se você parar e iniciar um gatilho baseado em eventos, ele retomará o padrão de gatilho antigo que pode resultar em gatilho indesejado do pipeline. Nesse caso, você deve excluir e criar um novo gatilho baseado em evento. O novo gatilho começa de novo, sem história. Existem dois tipos de gatilhos baseados em eventos.

  • Storage event trigger executa um pipeline contra eventos que ocorrem numa conta de armazenamento, como a chegada de um ficheiro ou a eliminação de um ficheiro numa conta de armazenamento Blob do Azure.
  • Gatilho de evento personalizado processa e lida com artigos personalizados no Event Grid

Para mais informações sobre os gatilhos baseados em eventos, consulte Gatilho de Evento de Armazenamento e Gatilho de Evento Personalizado.

Comparação de tipos de gatilho

O gatilho de janela deslizante e o gatilho de agendamento ambos operam em intervalos regulares de tempo. Como são diferentes?

Observação

A execução de gatilho de janela deslizante espera que a execução da pipeline acionada seja concluída. O seu estado de execução reflete o estado da execução do pipeline desencadeado. Por exemplo, se uma execução de pipeline desencadeada for cancelada, a execução correspondente do gatilho de janela intermitente é marcada como cancelada. Esta é uma abordagem diferente do comportamento de "disparar e esquecer" do gatilho de agendamento, que é considerado bem-sucedido desde que uma execução do pipeline tenha começado.

A tabela seguinte fornece uma comparação entre o gatilho de janela deslizante e o gatilho de agendamento.

Iteme Gatilho de janela deslizante Programar disparador
Cenários de preenchimento Suportado. As execuções de pipeline podem ser agendadas para períodos no passado. Não suportado. As execuções de pipeline só podem ser realizadas em períodos de tempo a partir do momento atual e no futuro.
Fiabilidade 100% fiabilidade. As execuções do pipeline podem ser agendadas para todas as janelas a partir de uma data de início especificada sem intervalos. Menos fiável.
Capacidade de repetição Suportado. Execuções de pipeline falhadas têm uma política de tentativa padrão de 0, ou uma política especificada pelo utilizador na definição do disparador. Tenta novamente automaticamente quando as execuções do pipeline falham devido a limites de concorrência/servidor/estrangulamento (ou seja, códigos de status 400: Erro do Utilizador, 429: Muitas solicitações e 500: Erro Interno do Servidor). Não suportado.
Concorrência Suportado. Os utilizadores podem definir explicitamente os limites de concorrência para o gatilho. Permite entre 1 e 50 execuções simultâneas de pipelines acionados. Não suportado.
Variáveis do sistema Juntamente com @trigger().scheduledTime e @trigger().startTime, também suporta o uso das variáveis de sistema WindowStart e WindowEnd. Os utilizadores podem aceder a trigger().outputs.windowStartTime e trigger().outputs.windowEndTime como variáveis de sistema de trigger na definição de trigger. Os valores são usados como o tempo de início e o tempo de fim da janela, respetivamente. Por exemplo, para um desencadeador de janela de rodagem que funciona a cada hora, para a janela das 1:00 às 2:00, a definição é trigger().outputs.windowStartTime = 2017-09-01T01:00:00Z e trigger().outputs.windowEndTime = 2017-09-01T02:00:00Z. Apenas suporta variáveis padrão @trigger().scheduledTime e @trigger().startTime.
Relacionamento entre pipeline e trigger Suporta uma relação de um para um. Apenas um pipeline pode ser acionado. Suporta relacionamentos muitos-para-muitos. Vários disparadores podem iniciar um único pipeline. Um único gatilho pode iniciar múltiplas pipelines.

Consulte os tutoriais seguintes: