パイプライン実行でのトリガー メタデータの参照
適用対象: Azure Data Factory Azure Synapse Analytics
ヒント
企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。
この記事では、トリガーの開始時刻などのトリガー メタデータをパイプラインの実行で使用する方法について説明します。
パイプラインでは、それを呼び出したトリガーからメタデータを認識し、読み取ることが必要になる場合があります。 たとえば、タンブリング ウィンドウ トリガーの実行では、期間の開始時刻と終了時刻に基づいて、パイプラインによって異なるデータ スライスまたはフォルダーが処理されます。 Azure Data Factory では、パラメーター化とシステム変数を使用して、トリガーからパイプラインにメタデータを渡します。
このパターンは、トリガーがウィンドウの開始時刻と終了時刻を提供するタンブリング ウィンドウ トリガーと、トリガーがカスタム定義データ フィールドの値を解析および処理するカスタム イベント トリガーで特に便利です。
Note
提供されるメタデータ情報は、トリガーの種類ごとに異なります。 詳細については、「システム変数」を参照してください。
Data Factory UI
このセクションでは、Data Factory ユーザー インターフェイス (UI) 内でトリガーからパイプラインにメタデータ情報を渡す方法について説明します。
[作成キャンバス] にアクセスしてパイプラインを編集します。
空のキャンバスを選択して、パイプラインの設定を表示します。 アクティビティを選択しないでください。 設定パネルが折りたたまれている可能性があるため、その場合はキャンバスの下部から引き出す必要があります。
[パラメーター] タブを選択し、[+ 新規] を選択してパラメーターを追加します。
[+ トリガー] を選択して、パイプラインにトリガーを追加します。
パイプラインにトリガーを作成またはアタッチして、[OK] を選択します。
[OK] を選択すると、次のスクリーンショットに示すように、パイプラインに指定されたパラメーターの一覧が別の [新しいトリガー] ページに表示されます。 そのページで、各パラメーターのトリガー メタデータを入力します。 トリガー情報を取得するには、システム変数で定義した形式を使用します。 すべてのパラメーターの情報を入力する必要はありません。 トリガー メタデータ値を扱うものだけを入力します。 たとえば、ここでは、トリガー実行の開始時刻を
parameter_1
に割り当てます。パイプラインで値を使用するには、システム変数ではなく、パイプライン定義のパラメーター (例:
@pipeline().parameters.parameterName
) を使用します。 たとえば、この例でトリガーの開始時刻を読み取るには、@pipeline().parameters.parameter_1
を参照します。
JSON スキーマ
パイプライン実行にトリガー情報を渡すには、トリガーとパイプライン JSON の両方を parameters
セクションで更新する必要があります。
パイプラインの定義
properties
セクションで、パラメーター定義を 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"
}
トリガー定義
pipelines
セクションで、parameters
セクションにパラメーター値を割り当てます。 すべてのパラメーターの情報を入力する必要はありません。 トリガー メタデータ値を扱うものだけを入力します。
{
"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"
}
}
}
}
パイプラインでのトリガー情報の使用
パイプラインで値を使用するには、システム変数ではなく、パイプライン定義のパラメーター (例: @pipeline().parameters.parameterName
) を使用します。
関連するコンテンツ
トリガーの詳細については、パイプラインの実行とトリガーに関する記事を参照してください。