Azure Logic Apps のスライディング ウィンドウ トリガーを使用して、連続したデータに対するタスクをスケジュール設定して実行する
適用対象: Azure Logic Apps (従量課金)
連続したチャンクでデータを処理する必要があるタスク、プロセス、またはジョブを定期的に実行するには、スライディング ウィンドウ トリガーを使用してロジック アプリ ワークフローを開始します。 ワークフローを開始するための日付と時刻やタイム ゾーン、およびそのワークフローを反復処理するための繰り返しを設定できます。 中断やワークフローの無効化など、何らかの理由で繰り返しが発生しなかった場合は、このトリガーによって、発生しなかった繰り返しが処理されます。 たとえば、データベースとバックアップ ストレージ間でデータを同期するときは、スライディング ウィンドウ トリガーを使用して、ギャップを起こすことなくデータが同期されるようにします。 組み込みのスケジュール トリガーとアクションの詳細については、Azure Logic Apps を使用した定期的な自動タスク、ワークフローのスケジュールと実行に関するページを参照してください。
このトリガーがサポートするパターンの一部を次に示します。
直ちに実行し、n 秒、分、時間、日、週、または月ごとに繰り返す。
特定の日付と時刻に開始して実行し、n 秒、分、時間、日、週、または月ごとに繰り返す。 このトリガーを使用すると、過去の開始時刻を指定し、過去のすべての繰り返しを実行することができます。
実行する前に、各繰り返しを特定の期間だけ遅らせます。
このトリガーと繰り返しトリガーの違い、または定期的なワークフローのスケジュールの詳細については、「Schedule and run recurring automated tasks, processes, and workflows with Azure Logic Apps」(Azure Logic Apps を使用した定期的な自動タスク、プロセス、ワークフローのスケジュールと実行) を参照してください。
前提条件
Azure アカウントとサブスクリプション。 サブスクリプションがない場合は、無料の Azure アカウントにサインアップできます。
ロジック アプリに関する基本的な知識。
スライディング ウィンドウ トリガーを追加する
Azure portal にサインインします。 空のロジック アプリを作成します。
ロジック アプリ デザイナーが表示されたら、検索ボックスに、フィルターとして「
sliding window
」と入力します。 トリガーの一覧から、ロジック アプリ ワークフロー内の最初のステップとして[スライディング ウィンドウ] トリガーを選択します。繰り返しの間隔と頻度を設定します。 この例では、これらのプロパティを設定して、ワークフローを毎週実行します。
プロパティ JSON での名前 必須 タイプ 説明 間隔 interval
はい Integer ワークフローの実行間隔を、[頻度] に指定された単位に基づいて表す正の整数。 間隔の最小値と最大値は次のとおりです。 - month: 1 ~ 16 か月
- Week: 1-71 週
- day: 1 ~ 500 日
- hour: 1 ~ 12,000 時間
- minute: 1 ~ 72,000 分
- second: 1 ~ 9,999,999 秒たとえば間隔が 6 で、頻度が "月" である場合は、繰り返しは 6 か月ごとになります。
頻度 frequency
はい String 繰り返しの時間の単位。秒、分、時、日、週、月のいずれかになります。 その他の繰り返しのオプションについては、[新しいパラメーターの追加] 一覧を開きます。 選択したオプションはすべて、選択後にトリガーに表示されます。
プロパティ 必須 JSON での名前 型 説明 [遅延] いいえ delay String ISO 8601 の日時指定を使用して各繰り返しを遅らせる期間 タイム ゾーン いいえ timeZone String 開始時刻を指定したときに限り適用されます。このトリガーに UTC オフセットを指定することはできないためです。 適用するタイム ゾーンを選択してください。 [開始時刻] いいえ startTime String 開始日時を次の形式で指定します。 YYYY-MM-DDThh:mm:ss (タイム ゾーンを選択した場合)
または
YYYY-MM-DDThh:mm:ssZ (タイム ゾーンを選択しなかった場合)
たとえば、2017 年 9 月 18 日午後 2:00 にする場合は、"2017-09-18T14:00:00" と指定し、太平洋標準時などのタイム ゾーンを選択します。 または、タイム ゾーンなしで「2017-09-18T14:00:00Z」と指定します。
注: この開始時刻は、UTC オフセットを除いた UTC 日時形式で、日付と時刻に関する ISO 8601 規格に従って入力する必要があります。 タイム ゾーンを選択しない場合は、末尾にスペースを入れず、アルファベットの "Z" を追加してください。 この "Z" は、同等の航海時間を表します。
単純なスケジュールでは、開始時刻と最初の実行時刻が一致するのに対して、高度な繰り返しでは、トリガーが作動するのは開始時刻以降となります。 "開始日時の使用方法を具体的に教えてください"
次に、他のアクションを使用して残りのワークフローを構築します。
ワークフローの定義 - スライディング ウィンドウ
JSON を使用するロジック アプリケーションの基となるワークフロー定義では、選択したオプションを使用してスライディング ウィンドウ トリガーの定義を表示できます。 この定義を表示するには、デザイナーのツールバーで [コード ビュー] を選択します。 デザイナーに戻るには、デザイナーのツールバーで [デザイナー] を選択します。
この例は、スライディング ウィンドウ トリガーの定義が基となるワークフロー定義でどのように見えるかを示しています。ここで、各繰り返しの遅延は、1 時間の繰り返しに対して 5 秒です。
"triggers": {
"Recurrence": {
"type": "SlidingWindow",
"Sliding_Window": {
"inputs": {
"delay": "PT5S"
},
"recurrence": {
"frequency": "Hour",
"interval": 1,
"startTime": "2019-05-13T14:00:00Z",
"timeZone": "Pacific Standard Time"
}
}
}
}