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 を使用した定期的な自動タスク、プロセス、ワークフローのスケジュールと実行) を参照してください。
ヒント
ロジック アプリをトリガーし、将来 1 回だけ実行する場合は、「ジョブを 1 回だけ実行する」を参照してください。
前提条件
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"
}
}
}
}