Compartilhar via


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.

  1. Vá para Tela de Criação e edite um pipeline.

  2. 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.

  3. Selecione a guia Parâmetros e selecione + Novo para adicionar parâmetros.

    Captura de tela mostrando uma configuração de pipeline, demonstrando como definir parâmetros em um pipeline.

  4. Adicione gatilhos ao pipeline selecionando + Gatilho.

  5. Crie ou anexe um gatilho ao pipeline e selecione OK.

  6. 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.

    Captura de tela mostrando a página de Parâmetros de Execução do Gatilho, exibindo como passar informações do gatilho para os parâmetros do pipeline.

  7. 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.

Para obter mais informações sobre gatilhos, consulte Execução do pipeline e gatilhos.