Verweisen auf Triggermetadaten in Pipelineausführungen

GILT FÜR: Azure Data Factory Azure Synapse Analytics

In diesem Artikel erfahren Sie, wie Sie Triggermetadaten (beispielsweise die Startzeit eines Triggers) in einer Pipelineausführung verwenden.

Eine Pipeline muss manchmal Metadaten des Triggers, durch den sie aufgerufen wird, interpretieren und lesen können. Bei einer Triggerausführung mit rollierendem Fenster verarbeitet die Pipeline beispielsweise auf der Grundlage der Start- und Endzeit des Fensters verschiedene Datenslices oder Ordner. In Azure Data Factory werden Parametrisierung und die Systemvariable verwendet, um Metadaten des Triggers an die Pipeline zu übergeben.

Dieses Muster ist besonders nützlich für einen Trigger mit rollierendem Fenster, bei dem der Trigger die Start- und Endzeit des Fensters angibt, und für einen benutzerdefinierten Ereignisauslöser, bei dem der Trigger die Werte in einem benutzerdefinierten Daten-Feld analysiert und verarbeitet.

Hinweis

Von anderen Triggerarten werden andere Metadateninformationen bereitgestellt. Weitere Informationen finden Sie unter Von Azure Data Factory unterstützte Systemvariablen.

Data Factory-Benutzeroberfläche

In diesem Abschnitt erfahren Sie, wie Sie Metadateninformationen eines Triggers innerhalb der Azure Data Factory-Benutzeroberfläche an eine Pipeline übergeben.

  1. Navigieren Sie zum Erstellungsbereich, und bearbeiten Sie eine Pipeline.

  2. Klicken Sie die leere Canvas, um Pipelineeinstellungen anzuzeigen. Wählen Sie keine Aktivität aus. Möglicherweise müssen Sie den Einstellungsbereich am unteren Rand der Canvas einblenden, da er ggf. reduziert wurde.

  3. Wählen Sie Parameter und anschließend + Neu aus, um Parameter hinzuzufügen.

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

  4. Fügen Sie der Pipeline Trigger hinzu, indem Sie auf + Trigger klicken.

  5. Erstellen Sie einen Trigger, oder fügen Sie einen Trigger an die Pipeline an, und wählen Sie anschließend OK aus.

  6. Geben Sie auf der nächsten Seite die Triggermetadaten für die einzelnen Parameter ein. Verwenden Sie das in der Systemvariablen definierte Format, um Triggerinformationen abzurufen. Sie müssen nur Informationen für Parameter angeben, von denen Triggermetadatenwerte angenommen werden. Hier weisen wir beispielsweise parameter_1 die Startzeit für die Triggerausführung zu.

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

  7. Verwenden Sie in Pipeline Definitionen nicht die Systemvariable, sondern Parameter vom Typ ().parameters.parameterName, um die Werte in der Pipeline zu verwenden. In unserem Fall verweisen wir beispielsweise auf @pipeline().parameters.parameter_1, um die Startzeit des Triggers zu lesen.

JSON-Schema

Um Triggerinformationen an Pipelineausführungen zu übergeben, müssen sowohl der JSON-Code des Triggers als auch der JSON-Code der Pipeline mit einem Abschnitt vom Typ parameters aktualisiert werden.

Definition der Pipeline

Fügen Sie unter dem Abschnitt properties Parameterdefinitionen zum Abschnitt parameters hinzu.

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

Triggerdefinition

Weisen Sie unter dem Abschnitt pipelines im Abschnitt parameters Parameterwerte zu. Sie müssen nur Informationen für Parameter angeben, von denen Triggermetadatenwerte angenommen werden.

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

Verwenden von Triggerinformationen in einer Pipeline

Verwenden Sie in Pipeline Definitionen nicht die Systemvariable, sondern Parameter vom Typ ().parameters.parameterName, um die Werte in der Pipeline zu verwenden.

Nächste Schritte

Detaillierte Informationen zu Triggern finden Sie unter Pipelineausführung und -trigger.