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 nova avaliação gratuitamente!

Este artigo descreve como os metadados de gatilho, como a hora de início do gatilho, podem ser usados na execução de pipeline.

Às vezes, o pipeline precisa reconhecer e ler os metadados do gatilho que o invoca. Por exemplo, com a execução do Gatilho de Janela em Cascata, com base na hora de início e de término da janela, o pipeline processará diferentes fatias ou pastas de dados. No Azure Data Factory, usamos parametrização e a Variável do Sistema para passar metadados do gatilho para o pipeline.

Esse padrão é especialmente útil para o Gatilho de Janela em Cascata, em que o gatilho fornece a hora de início e término da janela e o Gatilho de Evento Personalizado, no qual o gatilho analisa e processa valores no campo de dados definidos personalizados.

Observação

Cada tipo de gatilho fornece diferentes informações de metadados. Para obter mais informações, veja Variáveis de sistema

IU do Data Factory

Esta seção mostra como passar informações de metadados do gatilho para o pipeline, dentro da interface do usuário do Azure Data Factory.

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

  2. Selecione a tela em branco para exibir as configurações de pipeline. Não selecione nenhuma atividade. Talvez seja necessário efetuar pull do painel de configuração na parte inferior da tela, pois ele pode ter sido colapsado

  3. Selecione a seção Parâmetros e, em seguida, + Novo para adicionar parâmetros

    Screen shot of pipeline setting showing how to define parameters in pipeline.

  4. Adicione gatilhos ao pipeline clicando em + Gatilho.

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

  6. Depois de selecionar OK, outra página Novo gatilho é apresentada com uma lista dos parâmetros especificados para o pipeline, conforme mostrado na captura de tela a seguir. Na página seguinte, preencha os metadados do gatilho para cada parâmetro. Use o formato definido na Variável do Sistema para recuperar informações de gatilho. Você não precisa preencher as informações de todos os parâmetros, apenas aqueles que presumirão o disparo de valores de metadados. Por exemplo, aqui atribuímos a hora de início da execução do gatilho para parameter_1.

    Screenshot of trigger definition page showing how to pass trigger information to pipeline parameters.

  7. Para usar os valores no pipeline, use os parâmetros @pipeline().parameterName, não a variável do sistema, nas definições de pipeline. Por exemplo, em nosso caso, para ler a hora de início do gatilho, vamos referenciar @pipeline().parameters.parameter_1.

JSON schema

Para transmitir informações de gatilho a execuções de pipeline, o gatilho e o JSON de pipeline precisam ser atualizados com a seção Parâmetros.

Definição de pipeline

Na seção Propriedades, adicione definições de parâmetro à seção Parâmetros

{
    "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âmetro na seção Parâmetros. Você não precisa preencher as informações de todos os parâmetros, apenas aqueles que presumirão o disparo de valores de metadados.

{
    "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"
            }
        }
    }
}

Usar informações de gatilho no pipeline

Para usar os valores no pipeline, use os parâmetros @pipeline().parameterName, não a variável do sistema, nas definições de pipeline.

Para obter mais informações detalhadas sobre gatilhos, consulte Gatilhos e execução de pipeline.