タンブリング ウィンドウ トリガーの依存関係の作成

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。

この記事では、タンブリング ウィンドウ トリガーの依存関係を作成する手順について説明します。 タンブリング ウィンドウ トリガーに関する一般的な情報については、タンブリング ウィンドウ トリガーの作成に関するページを参照してください。

依存関係チェーンを構築し、トリガーがサービス内の別のトリガーの実行が成功した後でのみ実行されるようにするには、この高度な機能を使用して、タンブリング ウィンドウの依存関係を作成します。

タンブリング ウィンドウ トリガーを使用して依存パイプラインを作成する方法のデモについては、次のビデオを参照してください。

UI で依存関係を作成する

トリガーへの依存関係を作成するには、[トリガー]>[詳細]>[新規] の順に選択します。 次に、適切なオフセットとサイズとともに依存するトリガーを選択します。 [完了] を選択して、依存関係に対する変更を発行して有効にします。

依存関係の作成ウィンドウを示すスクリーンショット。

タンブリング ウィンドウの依存関係プロパティ

依存関係を持つタンブリング ウィンドウ トリガーには、次のプロパティがあります。

{
    "name": "MyTriggerName",
    "properties": {
        "type": "TumblingWindowTrigger",
        "runtimeState": <<Started/Stopped/Disabled - readonly>>,
        "typeProperties": {
            "frequency": <<Minute/Hour>>,
            "interval": <<int>>,
            "startTime": <<datetime>>,
            "endTime": <<datetime - optional>>,
            "delay": <<timespan - optional>>,
            "maxConcurrency": <<int>> (required, max allowed: 50),
            "retryPolicy": {
                "count": <<int - optional, default: 0>>,
                "intervalInSeconds": <<int>>,
            },
            "dependsOn": [
                {
                    "type": "TumblingWindowTriggerDependencyReference",
                    "size": <<timespan - optional>>,
                    "offset": <<timespan - optional>>,
                    "referenceTrigger": {
                        "referenceName": "MyTumblingWindowDependency1",
                        "type": "TriggerReference"
                    }
                },
                {
                    "type": "SelfDependencyTumblingWindowTriggerReference",
                    "size": <<timespan - optional>>,
                    "offset": <<timespan>>
                }
            ]
        }
    }
}

次の表に、タンブリング ウィンドウの依存関係を定義するために必要な属性の一覧を示します。

プロパティ名 説明 タイプ 必須
type 既存のすべてのタンブリング ウィンドウ トリガーがこのドロップダウン リストに表示されます。 依存関係を設定するトリガーを選択します。 TumblingWindowTriggerDependencyReference または SelfDependencyTumblingWindowTriggerReference はい
offset 依存関係トリガーのオフセット。 時間範囲形式で値を指定します。 負のオフセットと正のオフセットの両方を使用できます。 このプロパティは、トリガーが自己に依存する場合は必須です。 その他の場合は、省略可能です。 自己依存関係は、常に負のオフセットにする必要があります。 値が指定されていない場合、ウィンドウはトリガーそのものと同じになります。 Timespan
(hh:mm:ss)
自己依存関係:はい
その他:いいえ
size 依存関係のタンブリング ウィンドウのサイズ。 正の timespan 値を指定します。 このプロパティは省略可能です。 Timespan
(hh:mm:ss)
いいえ

注意

タンブリング ウィンドウ トリガーは、最大 5 つの他のトリガーに依存することができます。

タンブリング ウィンドウの自己依存関係プロパティ

前のウィンドウが正常に完了するまではトリガーが次のウィンドウに進んではならないシナリオでは、自己依存関係を構築します。 前の時間内にそれ自体の以前の実行が成功したことに依存する自己依存トリガーには、次のコードで示されているプロパティがあります。

Note

トリガーされるパイプラインが、前にトリガーされたウィンドウでのパイプラインの出力に依存している場合は、タンブリング ウィンドウ トリガーの自己依存関係のみを使用することをお勧めします。 並列トリガーの実行を制限するには、最大トリガー コンカレンシーを設定します。

{
    "name": "DemoSelfDependency",
    "properties": {
        "runtimeState": "Started",
        "pipeline": {
            "pipelineReference": {
                "referenceName": "Demo",
                "type": "PipelineReference"
            }
        },
        "type": "TumblingWindowTrigger",
        "typeProperties": {
            "frequency": "Hour",
            "interval": 1,
            "startTime": "2018-10-04T00:00:00Z",
            "delay": "00:01:00",
            "maxConcurrency": 50,
            "retryPolicy": {
                "intervalInSeconds": 30
            },
            "dependsOn": [
                {
                    "type": "SelfDependencyTumblingWindowTriggerReference",
                    "size": "01:00:00",
                    "offset": "-01:00:00"
                }
            ]
        }
    }
}

使用シナリオと例

次のシナリオでは、タンブリング ウィンドウの依存関係プロパティの使用を示します。

依存関係のオフセット

オフセットの例を示す図。

依存関係のサイズ

サイズの例を示す図。

自己依存関係

自己依存関係の例を示す図。

別のタンブリング ウィンドウ トリガーに対する依存関係

次の例は、過去 7 日間の出力を集計する別の日次ジョブに依存する日次テレメトリ処理ジョブを示すもので、7 日分のローリング ウィンドウ ストリームを生成します。

依存関係の例を示す図。

自己に対する依存関係

次の例は、ジョブの出力ストリームにずれがない日次ジョブを表しています。

出力ストリームにギャップがない自己依存関係の例を示す図。

依存関係を監視する

[トリガーの実行] 監視ページで、依存関係チェーンと該当するウィンドウを監視できます。 [監視]>[トリガーの実行] に移動します。 タンブリング ウィンドウ トリガーに依存関係がある場合、トリガー名には依存関係の監視ビューへのハイパーリンクが表示されます。

トリガー実行の監視を示すスクリーンショット。

トリガーの依存関係を表示するには、トリガー名をクリックします。 右側のペインには、実行 ID、ウィンドウ時間、状態などのトリガー実行に関する情報が表示されます。

依存関係の監視のリスト ビューを示すスクリーンショット。

依存関係の状態、および各依存トリガーのウィンドウが表示されます。 依存関係トリガーのいずれかが失敗した場合は、正常に再実行して、依存するトリガーが稼働できるようにする必要があります。

タンブリング ウィンドウ トリガーは、依存関係を 7 日間待機してからタイムアウトします。7 日が経過すると、トリガーの実行は失敗します。

Note

タンブリング ウィンドウ トリガーは、依存関係の待機中状態にある間は取り消すことができません。 タンブリング ウィンドウ トリガーを取り消すには、依存アクティビティを終了する必要があります。 この制限は、依存アクティビティが開始された後に完了できるように設計されています。 また、予期しない結果が生じる可能性を減らすのにも役立ちます。

トリガーの依存関係のスケジュールを視覚的な方法で表示するには、[ガント] ビューを選択します。

依存関係の監視のガント ビューを示すスクリーンショット。

透明なボックスに、ダウンストリームに依存する各トリガーの依存関係ウィンドウが表示されます。 上の図に示されている単色のボックスは、個々の実行のウィンドウを示しています。 ここでは、ガント チャート ビューを解釈するためのヒントをいくつか紹介します。

  • 透明なボックスは、依存ウィンドウが保留中または実行中の状態のときに青で表示されます
  • すべてのウィンドウが依存トリガーに対して成功すると、透明なボックスが緑色に変わります
  • ある依存ウィンドウが失敗した場合、透明なボックスは赤で表示されます。 エラー ウィンドウの実行を特定するには、赤く塗られたボックスを探します

ガント チャート ビューでウィンドウを再実行するには、ウィンドウの単色ボックスを選択します。 情報と再実行オプションが示されたアクション ペインがポップアップ表示されます。