Execução de pipeline e gatilhos no Azure Data Factory ou no Azure Synapse Analytics
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!
Uma execução de pipeline no Azure Data Factory e no Azure Synapse define uma instância de uma execução de pipeline. Por exemplo, digamos que você tem um pipeline que é executado às 8h, 9h e 10h. Nesse caso, há três execuções de pipeline separadas. Cada execução de pipeline possui uma ID de execução de pipeline exclusiva. A ID de execução é um GUID que define exclusivamente essa execução de pipeline específica.
As execuções de pipeline normalmente são instanciadas por meio da passagem de argumentos para parâmetros definidos no pipeline. Você pode executar um pipeline manualmente ou usando um gatilho. Este artigo fornece detalhes sobre as duas maneiras de executar um pipeline.
Criar gatilhos com interface do usuário
Para disparar manualmente um pipeline ou configurar um novo gatilho agendado, janela em cascata, evento de armazenamento ou um evento personalizado, selecione Adicionar gatilho na parte superior do editor de pipeline.
Se você optar por disparar manualmente o pipeline, ele será executado imediatamente. Caso contrário, se você escolher Novo/Editar, será solicitado através da janela adicionar gatilhos que você escolha um gatilho existente para editar ou criar um novo gatilho.
Você verá a janela de configuração do gatilho, permitindo que você escolha o tipo de gatilho.
Leia mais sobre gatilhos agendados, janela em cascata, evento de armazenamento, e eventos personalizados abaixo.
Execução manual com o JSON
A execução manual de um pipeline é também conhecida como execução sob demanda.
Por exemplo, digamos que você tenha um pipeline básico denominado copyPipeline que você deseja executar. O pipeline tem uma única atividade que copia de uma pasta de origem em um armazenamento de Blobs do Azure para uma pasta de destino no mesmo armazenamento. A definição de JSON a seguir mostra esse pipeline de exemplo:
{
"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 usa dois parâmetros: sourceBlobContainer e sinkBlobContainer. Você passa valores para esses parâmetros em runtime.
Execução manual com outras APIs/SDKs
Você pode executar o pipeline manualmente usando um dos seguintes métodos:
- SDK .NET
- Módulo do Azure PowerShell
- API REST
- SDK do Python
SDK .NET
A chamada de exemplo abaixo mostra como executar manualmente o pipeline usando o SDK do .NET:
client.Pipelines.CreateRunWithHttpMessagesAsync(resourceGroup, dataFactoryName, pipelineName, parameters)
Para obter um exemplo completo, confira o Início Rápido: criar um data factory usando o SDK do .NET.
Observação
Você pode usar o SDK do .NET para invocar os pipelines do Azure Functions, de seus serviços Web etc.
Azure PowerShell
Observação
Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
O comando de exemplo abaixo mostra como executar o pipeline manualmente usando o Azure PowerShell:
Invoke-AzDataFactoryV2Pipeline -DataFactory $df -PipelineName "Adfv2QuickStartPipeline" -ParameterFile .\PipelineParameters.json -ResourceGroupName "myResourceGroup"
Você passa parâmetros no corpo do conteúdo da solicitação. No SDK do .NET, no Azure PowerShell e no SDK do Python, você passa valores em um dicionário que é passado como um argumento para a chamada:
{
"sourceBlobContainer": "MySourceFolder",
"sinkBlobContainer": "MySinkFolder"
}
O conteúdo da resposta é uma ID exclusiva do pipeline de execução:
{
"runId": "0448d45a-a0bd-23f3-90a5-bfeea9264aed"
}
Para obter um exemplo completo, confira o Início Rápido: criar um data factory usando o Azure PowerShell.
SDK do Python
Para obter um exemplo completo, consulte Início Rápido: criar um data factory e um pipeline usando o Python
API REST
O comando de exemplo abaixo mostra como executar manualmente o pipeline usando 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 obter um exemplo completo, confira o Início Rápido: criar um data factory usando a API REST.
Disparar execução com JSON
Os gatilhos são outra forma de realizar uma execução do pipeline. Os gatilhos representam uma unidade de processamento que determina quando uma execução de pipeline precisa ser inicializada. Atualmente, o serviço dá suporte a três tipos de gatilhos:
Gatilho de agenda: um gatilho que invoca um pipeline em um agendamento de relógio.
Gatilho de janela em cascata: um gatilho que opera em um intervalo periódico enquanto também mantém o estado.
Gatilho baseado em eventos: um disparador que responde a um evento.
Pipelines e gatilhos têm uma relação muitos para muitos (exceto para o gatilho de janela em cascata). Vários gatilhos podem disparar um único pipeline, ou um único gatilho pode disparar vários pipelines. Na definição de gatilho a seguir, a propriedade pipelines se refere a uma lista de canais que são disparados pelo gatilho específico. A definição da propriedade inclui valores para os parâmetros de pipeline.
Definição básica do gatilho
{
"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>"
}
}
]
}
}
Agendar gatilho com JSON
Um gatilho de agendamento executa pipelines em um agendamento de hora de relógio. Esse gatilho dá suporte às opções de calendário periódicas e avançadas. Por exemplo, o gatilho dá suporte a intervalos como "semanalmente" ou "segunda-feira às 5:00 PM e quinta-feira às 9:00 PM". O gatilho de agendamento é flexível porque o padrão de conjunto de dados é independente e o gatilho não diferencia os dados de série temporal e não temporais.
Para saber mais sobre os gatilhos de agenda e obter exemplos, confira Criar um gatilho que dispare um pipeline em uma agenda.
Definição do gatilho de agenda
Quando você cria um gatilho de agenda, especifica o agendamento e a recorrência usando uma definição JSON.
Para que o gatilho de agendamento dispare uma execução de pipeline, inclua uma referência de pipeline do pipeline específico na definição do gatilho. Pipelines e gatilhos têm uma relação de muitos para muitos. Vários gatilhos podem disparar um único pipeline. Um único gatilho pode disparar vários 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 pipeline não usar nenhum parâmetro, será necessário incluir uma definição de JSON vazia na propriedade parameters.
Visão geral do esquema
A tabela a seguir fornece uma visão geral de alto nível dos principais elementos de esquema relacionados à recorrência e ao agendamento de um gatilho:
Propriedade JSON | Descrição |
---|---|
startTime | Um valor de data/hora. Para agendamentos básicos, o valor da propriedade startTime se aplica à primeira ocorrência. Para agendamentos complexos, o gatilho não é iniciado antes do valor de startTime especificado. |
endTime | A data e a hora de início do gatilho. O gatilho não é executado após a data e a hora de término especificadas. O valor da propriedade não pode estar no passado. |
timeZone | O fuso horário. Para obter uma lista de fusos horários compatíveis, confira Criar um gatilho que executa um pipeline em uma agenda. |
recurrence | Um objeto de recorrência que especifica as regras de recorrência para o gatilho. O objeto de recorrência dá suporte aos elementos frequency, intervall, endTime, count e schedule. Quando um objeto de recorrência é definido, o elemento frequency é obrigatório. Os outros elementos do objeto de recorrência são opcionais. |
frequency | A unidade de frequência com a qual o gatilho se repete. Os valores com suporte incluem “minute”, “hour”, “day”, “week” e “month”. |
interval | Um número inteiro positivo que indica o intervalo para o valor de frequency. O valor de frequency determina a frequência na qual o gatilho é executado. Por exemplo, se interval for 3 e frequency for "week", o gatilho será repetido a cada três semanas. |
schedule | O agendamento de recorrência do gatilho. Um gatilho com um valor de frequency especificado altera sua recorrência com base em um agendamento de recorrência. A propriedade schedule contém modificações para a recorrência que se baseiam em minutos, horas, dias da semana, dias do mês e número da semana. |
Exemplo de gatilho de elemento schedule
{
"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 padrão | Valores válidos | Exemplo |
---|---|---|---|---|---|
startTime | string | Sim | Nenhum | Data/hora ISO 8601 | "startTime" : "2013-01-09T09:30:00-08:00" |
recurrence | objeto | Sim | Nenhum | Um objeto de recorrência | "recurrence" : { "frequency" : "monthly", "interval" : 1 } |
interval | número | Não | 1 | 1 a 1000 | "interval":10 |
endTime | string | Sim | Nenhum | Um valor de Data/Hora que representa uma hora no futuro | "endTime" : "2013-02-09T09:30:00-08:00" |
schedule | objeto | Não | Nenhum | Um objeto do agendamento | "schedule" : { "minute" : [30], "hour" : [8,17] } |
Propriedade startTime
A seguinte tabela mostra como a propriedade startTime controla uma execução de gatilho:
Valor startTime | Recorrência sem agendamento | Recorrência com agendamento |
---|---|---|
A hora de início está no passado | Calcula a primeira hora de execução futura após a hora de início e executa nessa hora. Executa as execuções subsequentes calculadas a partir do último tempo de execução. Consulte o exemplo após esta tabela. |
O gatilho é iniciado não antes da hora de início especificada. A primeira ocorrência baseia-se no elemento schedule calculado com base na hora de início. Executa as execuções seguintes com base no agendamento de recorrência. |
A hora de início está no futuro ou é a hora atual | É executado uma vez na hora de início especificada. Executa as execuções subsequentes calculadas a partir do último tempo de execução. |
O gatilho é iniciado não antes da hora de início especificada. A primeira ocorrência baseia-se no elemento schedule calculado com base na hora de início. Executa as execuções seguintes com base no agendamento de recorrência. |
Vejamos um exemplo do que acontece quando a hora de início está no passado, com uma recorrência, mas sem agendamento. Suponha que a hora atual seja 8/4/2017 às 13h, a hora de início seja 7/4/2017 às 14h e a recorrência seja a cada dois dias. (O valor de recurrence é definido pela configuração da propriedade frequency como "day" e da propriedade interval como 2.) Observe que o valor startTime está no passado e ocorre antes da hora atual.
Sob essas condições, a primeira execução será em 9/4/2017 às 14h. O mecanismo do Agendador calcula as ocorrências de execução desde a hora de início. As instâncias no passado serão descartadas. O mecanismo usa a próxima instância que ocorrer no futuro. Neste cenário, a hora de início é 7/4/2017 às 14h. A próxima instância é dois dias a partir dessa hora, que é 9/4/2017 às 14h.
A primeira hora de execução é igual, mesmo que startTime seja 5/4/2017 às 14h ou 1/4/2017 às 14h. Após a primeira execução, as execuções seguintes são calculadas com o uso do agendamento. Portanto, as execuções subsequentes serão em 11/4/2017 às 14h, em 13/4/2017 às 14h, em 15/4/2017 às 14h e assim por diante.
Por fim, quando as horas ou os minutos não estiverem definidos na agenda de um gatilho, as horas ou os minutos da primeira execução serão usados como padrões.
Propriedade schedule
Você pode usar schedule para limitar o número de execuções de gatilho. Por exemplo, se um gatilho com uma frequência mensal é agendado para execução somente no dia 31, ele é executado apenas nos meses que têm o 31º dia.
Também é possível usar schedule para expandir o número de execuções de gatilho. Por exemplo, um gatilho com uma frequência mensal agendado para execução nos dias 1 e 2 do mês é executado no primeiro e no segundo dias do mês, em vez de uma vez por mês.
Se forem especificados vários elementos schedule, a ordem de avaliação é do maior para o menor: número da semana, dia do mês, dia da semana, hora e minuto.
A seguinte tabela descreve elementos schedule em detalhes:
Elemento JSON | Descrição | Valores válidos |
---|---|---|
minutos | Minutos da hora em que o gatilho será executado. | - Número inteiro - Matriz de números inteiros |
horas | As horas do dia em que o gatilho será executado. | - Número inteiro - Matriz de números inteiros |
Dias da semana | Dias da semana em que o gatilho será executado. O valor pode ser especificado apenas com uma frequência semanal. | - Segunda-feira - Terça-feira - Quarta-feira - Quinta-feira - Sexta-feira - Sábado - Domingo - Matriz de valores de dia (o tamanho máximo da matriz é 7) Os valores de dia não diferenciam maiúsculas de minúsculas |
monthlyOccurrences | Dias do mês em que o gatilho é executado. O valor pode ser especificado apenas com uma frequência mensal. | - Matriz de objetos monthlyOccurrence: { "day": day, "occurrence": occurrence } - O atributo day é o dia da semana no qual o gatilho é executado. Por exemplo, uma propriedade monthlyOccurrences com um valor de day igual a {Sunday} significa todo domingo do mês. O atributo day é obrigatório.- O atributo occurrence é a ocorrência de day especificado durante o mês. Por exemplo, uma propriedade monthlyOccurrences com os valores de day e occurrence iguais a {Sunday, -1} significa o último domingo do mês. O atributo occurrence é opcional. |
monthDays | Dia do mês em que o gatilho é executado. O valor pode ser especificado apenas com uma frequência mensal. | - Qualquer valor <= -1 and >= -31 - Qualquer valor >= 1 and <= 31 - Matriz de valores |
Gatilho de janela em cascata
Os gatilhos de janela em cascata são um tipo de gatilho acionado em um intervalo de tempo periódico a partir de uma hora de início especificada, enquanto mantém o estado. As janelas em cascata são uma série de intervalos de tempo de tamanho fixo, não sobrepostos e contíguos.
Para saber mais sobre gatilhos periódicos e para obter exemplos, confira Criar um gatilho periódico.
Exemplos de agendamentos de recorrência de gatilho
Esta seção fornece exemplos de agendamentos de recorrência. Ela tem como foco o objeto schedule e seus elementos.
Os exemplos pressupõem que o valor de interval seja 1 e que o valor de frequency esteja correto de acordo com a definição de agenda. Por exemplo, não é possível ter um valor de frequency igual a "day" e também ter uma modificação de monthDays no objeto schedule. Esses tipos de restrições estão descritos na tabela da seção anterior.
Exemplo | Descrição |
---|---|
{"hours":[5]} |
Executar às 5h todos os dias. |
{"minutes":[15], "hours":[5]} |
Executar às 5h15 todos os dias. |
{"minutes":[15], "hours":[5,17]} |
Executar às 5h15 e 17h15 todos os dias. |
{"minutes":[15,45], "hours":[5,17]} |
Executar às 5h15, 5h45, 17h15 e 17h45 todos os dias. |
{"minutes":[0,15,30,45]} |
Executar a cada 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 é executado a cada hora. Os minutos são controlados pelo valor de startTime, quando um valor é especificado. Se um valor não for especificado, os minutos serão controlados pela hora de criação. Por exemplo, se a hora de início ou a hora de criação (o que for aplicável) for 12h25, o gatilho será executado às 24h25, 1h25, 2h25, … e 23h25. Esse agendamento é equivalente a ter um gatilho com um valor de frequency igual a “hour”, um valor de interval igual a 1 e nenhum schedule. Esse agendamento pode ser usado com valores diferentes de frequency e interval para criar outros gatilhos. Por exemplo, quando o valor de frequency é “month”, o agendamento é executado somente uma vez por mês, em vez de todos os dias, quando o valor de frequency é “day”. |
{"minutes":[0]} |
Executar a cada hora na hora. Esse gatilho é executado a cada hora na hora, começando às 24h, 1h, 2h e assim por diante. Esse agendamento é equivalente a um gatilho com um valor de frequency igual a “hour” e um valor de startTime igual a zero minutos e nenhum schedule, mas um valor de frequency igual a “day”. Se o valor de frequency é "week" ou "month", o agendamento é executado somente um dia da semana ou um dia do mês, respectivamente. |
{"minutes":[15]} |
Executa 15 minutos após cada hora. Esse gatilho é executado a cada hora em 15 minutos após a hora, começando às 24h15, 1h15, 2h15 e assim por diante, terminando em 23h15. |
{"hours":[17], "weekDays":["saturday"]} |
Executar às 17h aos sábados toda semana. |
{"hours":[17], "weekDays":["monday", "wednesday", "friday"]} |
Executar às 17h às segundas-feiras, quartas-feiras e sextas-feiras toda semana. |
{"minutes":[15,45], "hours":[17], "weekDays":["monday", "wednesday", "friday"]} |
Executar às 17h15 e às 17h45 às segundas-feiras, quartas-feiras e sextas-feiras toda semana. |
{"minutes":[0,15,30,45], "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} |
Executar a cada 15 minutos em dias da semana. |
{"minutes":[0,15,30,45], "hours": [9, 10, 11, 12, 13, 14, 15, 16] "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} |
Executar a cada 15 minutos em dias da semana entre 9h e 16h45. |
{"weekDays":["tuesday", "thursday"]} |
Executar às terças-feiras e quintas-feiras na hora de início especificada. |
{"minutes":[0], "hours":[6], "monthDays":[28]} |
Executar às 6h no vigésimo oitavo dia de cada mês supondo um valor de frequency de "month"). |
{"minutes":[0], "hours":[6], "monthDays":[-1]} |
Executar às 6h no último dia do mês. Para executar um gatilho no último dia de um mês, use -1, em vez do dia 28, 29, 30 ou 31. |
{"minutes":[0], "hours":[6], "monthDays":[1,-1]} |
Executar às 6h no primeiro e último dia de cada mês. |
{monthDays":[1,14]} |
Executar no primeiro e no 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 5h. |
{"monthlyOccurrences":[{"day":"friday", "occurrence":1}]} |
Executar na primeira sexta-feira de cada mês na hora de início especificada. |
{"monthlyOccurrences":[{"day":"friday", "occurrence":-3}]} |
Executar na terceira sexta-feira do final do mês, todo mês, na hora de início especificada. |
{"minutes":[15], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} |
Executar na primeira e última sexta-feira de cada mês às 5h15. |
{"monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} |
Executar 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 na hora de início especificada. Quando não houver uma quinta sexta-feira em um mês, o pipeline não será executado. Para executar o gatilho na última sexta-feira do mês, considere o uso de -1, em vez de 5 para o valor de occurrence. |
{"minutes":[0,15,30,45], "monthlyOccurrences":[{"day":"friday", "occurrence":-1}]} |
Executar a cada 15 minutos na última sexta-feira do mês. |
{"minutes":[15,45], "hours":[5,17], "monthlyOccurrences":[{"day":"wednesday", "occurrence":3}]} |
Executar às 5h15, 5h45, 17h15 e 17h45 na terceira quarta-feira de cada mês. |
Comparação de tipo de gatilho
Tanto o gatilho de janela em cascata quanto o gatilho de agendamento operam sobre pulsações de tempo. Como eles são diferentes?
Observação
A execução de gatilho periódico espera que a execução de pipeline disparada seja concluída. Seu status de execução reflete o status da execução de pipeline disparada. Por exemplo, se uma execução de pipeline disparada for cancelada, a execução do gatilho periódico correspondente será marcada como cancelada. Isso é diferente do comportamento "acionar e esquecer" do gatilho de agendamento, que é marcado como realizado com sucesso desde que uma execução de pipeline seja iniciada.
A tabela a seguir fornece uma comparação entre o gatilho de janela em cascata e o gatilho de agenda:
Item | Gatilho de janela em cascata | Gatilho de agendamento |
---|---|---|
Cenários de aterramento | Com suporte. As execuções de pipeline podem ser agendadas para janelas no passado. | Não há suporte. As execuções de pipeline podem ser executadas somente em períodos de tempo atuais e no futuro. |
Confiabilidade | 100% de confiabilidade. As execuções de pipeline podem ser agendadas para todas as janelas de uma data de início especificada sem folgas. | Menos confiável. |
Repetir o recurso | Com suporte. As execuções de pipeline com falha têm o padrão de política de repetição como 0, ou uma política especificada pelo usuário como parte da definição do gatilho. Repete automaticamente quando a execução de pipeline falha devido a limites de simultaneidade/servidor/limitação (ou seja, os códigos de status 400: erro de usuário, 429: muitas solicitações e 500: erro interno do servidor). | Não há suporte. |
Simultaneidade | Com suporte. Os usuários podem definir explicitamente os limites de simultaneidade para o gatilho. Permite entre 1 e 50 execuções de pipeline disparadas simultaneamente. | Não há suporte. |
Variáveis do sistema | Junto com @trigger().scheduledTime e @trigger().startTime, também dá suporte ao uso das variáveis de sistema WindowStart e WindowEnd. Os usuários podem acessar trigger().outputs.windowStartTime e trigger().outputs.windowEndTime como variáveis de sistema de gatilho na definição do gatilho. Os valores são usados como hora de início e hora de término da janela, respectivamente. Por exemplo, para um gatilho de janela em cascata que é executado a cada hora, para a janela de 1h a 2h, a definição é trigger().outputs.windowStartTime = 2017-09-01T01:00:00Z e trigger().outputs.windowEndTime = 2017-09-01T02:00:00Z . |
Dá suporte apenas padrão @trigger().scheduledTime e variáveis @trigger().startTime. |
Relação pipeline para gatilho | Dá suporte a uma relação um para um. Somente um pipeline pode ser disparado. | Dá suporte a relações muitos para muitos. Vários gatilhos podem disparar um único pipeline. Um único gatilho pode disparar vários pipelines. |
Gatilho baseado em eventos
Um gatilho baseado em eventos executa pipelines em resposta a um evento. Há dois tipos de gatilhos de eventos.
- O Gatilho de evento de armazenamento executa um pipeline em relação a eventos que ocorrem em uma conta de Armazenamento, como a chegada de um arquivo ou a exclusão de um arquivo na conta de armazenamento do Armazenamento de Blobs do Azure.
- O gatilho de evento personalizado processa e lida com artigos personalizados na Grade de Eventos
Para obter mais informações sobre gatilhos baseados em evento, confira Gatilho de Evento de Armazenamento e Gatilho de Evento Personalizado.
Conteúdo relacionado
Consulte os seguintes tutoriais: