Como agendar um pipeline no Azure Data Factory com trigger
Deixar um pipeline a correr manualmente todos os dias não é sustentável: mais cedo ou mais tarde alguém se esquece e os dados ficam desatualizados. No Azure Data Factory, um Schedule Trigger resolve isto ao agendar um pipeline para arrancar sozinho — por exemplo, todas as noites às 02:00. A seguir vês, passo a passo, como agendar um pipeline no Azure Data Factory, primeiro pela interface do ADF Studio e depois por código com PowerShell.
Pré-requisitos
- Uma instância de Azure Data Factory já criada e com acesso ao ADF Studio.
- Um pipeline funcional e já testado (por exemplo, uma atividade
Copy data). - Permissões para publicar alterações na factory (o papel Data Factory Contributor).
- Opcional: o módulo
Az.DataFactorydo PowerShell, caso prefiras criar o trigger por código.
Passo 1: Abrir o menu de triggers
No ADF Studio, abre o separador Author (o ícone do lápis, à esquerda) e localiza o pipeline que queres agendar. No topo do canvas do pipeline, clica em Add trigger e escolhe New/Edit. Este menu é o ponto de partida para associar um agendamento ao pipeline.
Passo 2: Criar um novo Schedule Trigger
Na janela Add triggers, abre a lista Choose trigger e clica em + New. Dá um nome descritivo ao trigger (por exemplo, trg-diario-02h) e, no campo Type, seleciona Schedule. De seguida, define os campos principais:
- Start date: a data e hora a partir da qual o agendamento fica ativo.
- Time zone: escolhe o teu fuso horário (por exemplo, W. Europe Standard Time) para evitar confusões com UTC.
- Recurrence: a frequência, como Every 1 Day.
- Advanced recurrence: se precisares, indica a hora exata (por exemplo, 02:00) ou os dias da semana.
Dica: um Schedule Trigger nunca executa no passado. Se a Start date for anterior ao momento atual, as execuções só começam na próxima ocorrência futura.
Passo 3: Compreender o JSON do trigger
Nos bastidores, a interface gera um objeto JSON. Conhecê-lo ajuda a perceber o que está a acontecer e é essencial se quiseres criar o trigger por código. Um Schedule Trigger diário às 02:00 tem este aspeto:
{
"name": "trg-diario-02h",
"properties": {
"type": "ScheduleTrigger",
"typeProperties": {
"recurrence": {
"frequency": "Day",
"interval": 1,
"startTime": "2026-07-06T02:00:00",
"timeZone": "W. Europe Standard Time",
"schedule": {
"hours": [ 2 ],
"minutes": [ 0 ]
}
}
},
"pipelines": [
{
"pipelineReference": {
"referenceName": "pl-copia-vendas",
"type": "PipelineReference"
},
"parameters": {}
}
]
}
}
Repara em três pontos: frequency e interval definem de quanto em quanto tempo o pipeline corre; o objeto schedule afina a hora exata; e pipelines liga o trigger ao pipeline que vai executar.
Passo 4: Publicar para ativar
Um trigger só passa a funcionar depois de publicado. Clica em OK para fechar a janela e, de seguida, em Publish all, no topo do ADF Studio. Sem este passo, o agendamento fica apenas em rascunho e o pipeline nunca arranca sozinho.
Passo 5 (alternativa): Criar o trigger por PowerShell
Se preferires automatizar a criação, guarda o JSON acima num ficheiro (por exemplo, trigger.json) e usa o módulo Az.DataFactory. O trigger é criado num estado parado, por isso tens de o iniciar explicitamente:
Set-AzDataFactoryV2Trigger -ResourceGroupName "rg-dados" -DataFactoryName "adf-bconcepts" -Name "trg-diario-02h" -DefinitionFile "./trigger.json"
Start-AzDataFactoryV2Trigger -ResourceGroupName "rg-dados" -DataFactoryName "adf-bconcepts" -Name "trg-diario-02h"
Verificar o resultado
Para confirmar que ficou tudo bem, abre o separador Manage > Triggers e verifica que o teu trigger aparece com o estado Started. Em alternativa, o comando Get-AzDataFactoryV2Trigger mostra o mesmo estado na consola. Passado o horário agendado, vai a Monitor > Trigger runs e confirma que existe uma execução com o campo Triggered By a apontar para o teu trigger.
Conclusão
Com um Schedule Trigger, o teu pipeline passa a correr sozinho no horário certo — um passo essencial para pipelines de dados fiáveis. A partir daqui, experimenta um Tumbling Window Trigger quando precisares de processar janelas de tempo em sequência, ou um trigger por eventos para reagir à chegada de ficheiros. Que pipeline vais automatizar primeiro?