Referenciar metadados de gatilho em execuções de pipeline
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 descreve como os metadados do gatilho, como a hora de início do gatilho, podem ser usados em uma execução de pipeline.
Às vezes, um pipeline precisa entender e ler metadados do gatilho que o invoca. Por exemplo, com uma execução de gatilho de janela deslizante, baseada no horário de início e término da janela, o pipeline processa diferentes fatias de dados ou pastas. No Azure Data Factory, usamos parametrização e variáveis de sistema para passar metadados dos gatilhos para os pipelines.
Esse padrão é especialmente útil para gatilhos de janela deslizante, onde o gatilho fornece o horário de início e término da janela, e gatilhos de evento personalizado, em que o gatilho analisa e processa valores em um campo de dados definido personalizadamente.
Observação
Diferentes tipos de gatilhos fornecem diferentes informações de metadados. Para obter mais informações, consulte Variáveis do sistema.
IU do Data Factory
Esta seção mostra como passar informações de metadados de gatilhos para pipelines, na interface do usuário (UI) do Data Factory.
Vá para Tela de Criação e edite um pipeline.
Selecione a tela em branco para exibir as configurações do pipeline. Não selecione nenhuma atividade. Talvez você precise abrir o painel de configurações na parte inferior da tela, pois ele pode estar recolhido.
Selecione a guia Parâmetros e selecione + Novo para adicionar parâmetros.
Adicione gatilhos ao pipeline selecionando + Gatilho.
Crie ou anexe um gatilho ao pipeline e selecione OK.
Após selecionar OK, outra página Novo gatilho aparecerá com uma lista dos parâmetros especificados para o pipeline, conforme mostrado na captura de tela a seguir. Nessa página, preencha os metadados do gatilho para cada parâmetro. Use o formato definido em Variáveis do sistema para recuperar as informações do gatilho. Não é necessário preencher as informações de todos os parâmetros. Basta preencher aqueles que assumirão valores de metadados de gatilho. Por exemplo, aqui atribuímos o horário de início da execução do gatilho a
parameter_1
.Para usar os valores no pipeline, utilize parâmetros, como as variáveis de sistema
@pipeline().parameters.parameterName
, não, nas definições do pipeline. Por exemplo, neste caso, para ler a hora de início do gatilho, fazemos referência a@pipeline().parameters.parameter_1
.
JSON schema
Para passar informações de gatilho para execuções de pipeline, tanto o JSON do gatilho quanto o do pipeline precisam ser atualizados com a seção parameters
.
Definição de pipeline
Na seção properties
, adicione definições de parâmetros à seção parameters
.
{
"name": "demo_pipeline",
"properties": {
"activities": [
{
"name": "demo_activity",
"type": "WebActivity",
"dependsOn": [],
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"url": {
"value": "@pipeline().parameters.parameter_2",
"type": "Expression"
},
"method": "GET"
}
}
],
"parameters": {
"parameter_1": {
"type": "string"
},
"parameter_2": {
"type": "string"
},
"parameter_3": {
"type": "string"
},
"parameter_4": {
"type": "string"
},
"parameter_5": {
"type": "string"
}
},
"annotations": [],
"lastPublishTime": "2021-02-24T03:06:23Z"
},
"type": "Microsoft.DataFactory/factories/pipelines"
}
Definição do gatilho
Na seção pipelines
, atribua valores de parâmetros na seção parameters
. Não é necessário preencher as informações de todos os parâmetros. Basta preencher aqueles que assumirão valores de metadados de gatilho.
{
"name": "trigger1",
"properties": {
"annotations": [],
"runtimeState": "Started",
"pipelines": [
{
"pipelineReference": {
"referenceName": "demo_pipeline",
"type": "PipelineReference"
},
"parameters": {
"parameter_1": "@trigger().startTime"
}
}
],
"type": "ScheduleTrigger",
"typeProperties": {
"recurrence": {
"frequency": "Minute",
"interval": 15,
"startTime": "2021-03-03T04:38:00Z",
"timeZone": "UTC"
}
}
}
}
Uso das informações do gatilho em um pipeline
Para usar os valores em um pipeline, utilize parâmetros, como as variáveis de sistema @pipeline().parameters.parameterName
, não, nas definições do pipeline.
Conteúdo relacionado
Para obter mais informações sobre gatilhos, consulte Execução do pipeline e gatilhos.