Compartir vía


Referencia a los metadatos de desencadenador en las ejecuciones de canalización

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.

En este artículo se describe cómo se pueden usar los metadatos de desencadenador en las ejecuciones de canalizaciones, como por ejemplo la hora de inicio del desencadenador.

A veces, una canalización debe comprender y leer los metadatos del desencadenador que la invoca. Por ejemplo, con la ejecución de un desencadenador periódico, la canalización procesa segmentos o carpetas de datos diferentes, en función de la hora de inicio y de finalización de la ventana. En Azure Data Factory, usamos la parametrización y las variables del sistema para pasar metadatos de desencadenadores a canalizaciones.

Este patrón es especialmente útil para desencadenadores de ventana de saltos de tamaño constante, donde el desencadenador proporciona la hora de inicio y finalización de la ventana, y desencadenadores de eventos personalizados, donde el desencadenador analiza y procesa valores en un campo datos definidos a medida .

Nota:

Los distintos tipos de desencadenador proporcionan información de metadatos diferentes. Para más información, consulte Variables del sistema.

Interfaz de usuario de Data Factory

En esta sección se muestra cómo pasar información de metadatos de desencadenadores a canalizaciones, dentro de la interfaz de usuario (IU) de Data Factory.

  1. Vaya al lienzo de creación y edite una canalización.

  2. Seleccione el lienzo en blanco para abrir la configuración de canalización. No seleccione ninguna actividad. Es posible que tenga que extraer el panel de configuración desde la parte inferior del lienzo porque podría contraerse.

  3. Seleccione la pestaña Parámetros y seleccione + Nuevo para agregar parámetros.

    Captura de pantalla que muestra una configuración de canalización que muestra cómo definir parámetros en una canalización.

  4. Agregue desencadenadores a la canalización seleccionando + Desencadenador.

  5. Cree o asocie un desencadenador a la canalización y seleccione Aceptar.

  6. Después de seleccionar Aceptar, aparece otra página Nuevo desencadenador con una lista de los parámetros especificados para la canalización, como se muestra en la captura de pantalla siguiente. En esa página, rellene los metadatos del desencadenador de cada parámetro. Use el formato definido en Variables del sistema para recuperar la información del desencadenador. No es necesario rellenar la información de todos los parámetros. Solo tiene que rellenar los que presuponen valores de metadatos de desencadenador. Por ejemplo, aquí asignamos la hora de inicio de ejecución del desencadenador a parameter_1.

    Captura de pantalla que muestra la página Parámetros de ejecución del desencadenador que muestra cómo pasar información del desencadenador a los parámetros de canalización.

  7. Para usar los valores de la canalización, use parámetros, como @pipeline().parameters.parameterName, no variables del sistema, en definiciones de canalización. Por ejemplo, en este caso, para leer la hora de inicio del desencadenador, hacemos referencia a @pipeline().parameters.parameter_1.

Esquema JSON

Para pasar la información del desencadenador a las ejecuciones de canalización, tanto el desencadenador como el código JSON de la canalización deben actualizarse con la sección parameters.

Definición de la canalización

En la sección properties, agregue definiciones de parámetros a la sección 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"
}

Definición de desencadenador

En la sección pipelines, asigne valores de parámetro en la sección parameters. No es necesario rellenar la información de todos los parámetros. Solo tiene que rellenar los que presuponen valores de metadatos de desencadenador.

{
    "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 de la información del desencadenador en una canalización

Para usar los valores de una canalización, use parámetros, como @pipeline().parameters.parameterName, no variables del sistema, en definiciones de canalización.

Para obtener más información sobre los desencadenadores, consulte ejecución y desencadenadores de canalización.