適用対象: Azure Logic Apps (従量課金プラン + Standard)
スケジュールに従ってワークフローを開始して実行するには、最初の手順として汎用の 繰り返し トリガーを使用します。 ワークフローを開始する日付、時刻、タイム ゾーン、およびそのワークフローを反復処理するための繰り返しを設定できます。 次の一覧に、このトリガーがサポートするいくつかのパターンを、より高度な繰り返しや複雑なスケジュールと共に示します。
特定の日時に実行し、 n 秒、分、時間、日、週、または月ごとに繰り返します。
直ちに実行し、n 秒、分、時間、日、週、または月ごとに繰り返す。
直ちに実行し、1 つ以上の特定の時刻 (午前 8 時と午後 5 時など) に毎日繰り返す。
直ちに実行し、毎週特定の曜日 (土曜日と日曜日など) に繰り返す。
直ちに実行し、毎週特定の曜日の特定の時刻 (月曜日から金曜日の午前 8 時と午後 5 時など) に繰り返す。
Note
[設定時刻 (時間)] や [設定時刻 (日)] などの高度なスケジュール オプションは、Azure Logic Apps ランタイムで直接実行される繰り返しやスライディング ウィンドウ トリガーなどの組み込みのポーリング トリガーでのみ使用できます。 Azure で Microsoft が管理、ホスト、および実行するコネクタの場合、ポーリング トリガーは、高度なスケジュール オプションではなく、 間隔 と 頻度 の値のみを使用して次の繰り返しを計算します。
繰り返しトリガーは特定のサービスに関連付けられていないため、従量課金ロジック アプリワークフローや標準ロジック アプリステートフル ワークフローなど、ほぼすべてのワークフローでトリガーを使用できます。 このトリガーは現在、標準ロジック アプリ "ステートレス" ワークフローでは使用できません。
繰り返しトリガーは、組み込みのスケジュール コネクタの一部であり、Azure Logic Apps ランタイムでネイティブに実行されます。 組み込みのスケジュール トリガーとアクションの詳細については、Azure Logic Apps を使用した定期的な自動タスク、ワークフローのスケジュールと実行に関するページを参照してください。
Prerequisites
Azure アカウントとサブスクリプション。 サブスクリプションをお持ちでない場合には、無料の Azure アカウントにサインアップしてください。
空のワークフローを含む従量課金または Standard のロジック アプリ リソース。
Note
標準ロジック アプリ ワークフローを作成した場合は、 必ずステートフル ワークフローを作成してください。 現在、 繰り返し トリガーはステートレス ワークフローでは使用できません。
繰り返しトリガーを追加する
従量課金か Standard のどちらのワークフローを使用しているかに基づいて、対応する手順に従ってください:
Azure portal で、ロジック アプリ リソースと空のワークフローを開きます。
繰り返しの間隔と頻度を設定します。 この例では、これらのプロパティを設定して、ワークフローを毎週実行します。たとえば、次のようになります。
Property JSON 名 Required タイプ Description Interval interval
Yes 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 frequency
Yes String 繰り返しの時間の単位。秒、分、時、日、週、月のいずれかになります。
重要: 日、 週、または 月 の頻度を選択し、将来の開始日と時刻を指定する場合は、繰り返しを事前に設定してください。 そうしないと、ワークフローで最初の繰り返しがスキップされる場合があります。
- 日: 少なくとも 24 時間前に毎日の繰り返しを設定します。
- 週: 少なくとも 7 日前に週単位の繰り返しを設定します。
- 月: 少なくとも 1 か月前に毎月の繰り返しを設定します。タイム ゾーン timeZone
No String このトリガーは UTC オフセットを受け入れないので、開始時刻を指定した場合にのみ適用されます。 適用するタイム ゾーンを選択してください。 詳細については、「既定のタイム ゾーン」を参照してください。 開始時刻 startTime
No String 開始日と時刻を指定します。これには、最大で 49 年先の時刻を指定でき、また UTC の日付と時刻の形式 (ただし、UTC オフセットを除く) で日付と時刻に関する ISO 8601 規格に従っている必要があります。
YYYY-MM-DDThh:mm:ss (タイム ゾーンを選択した場合)
-or-
YYYY-MM-DDThh:mm:ssZ (タイム ゾーンを選択しなかった場合)
たとえば、2024 年 9 月 18 日午後 2:00 にする場合は、"2024-09-18T8:00:00" と指定し、太平洋標準時などのタイム ゾーンを選択します。 または、タイム ゾーンなしで "2024-09-18T8:00:00Z" と指定します。
大事な: タイム ゾーンを選択しない場合は、末尾にスペースなしで文字 "Z" を追加する必要があります。 この "Z" は、UTC オフセットを持つ UTC 時刻形式を示 します。 タイム ゾーンの値を選択した場合は、 開始時刻 の値の末尾に "Z" を追加する必要はありません。 行った場合、"Z" は UTC 時刻形式を示すため、Azure Logic Apps はタイム ゾーンの値を無視します。
単純なスケジュールでは、開始時刻と最初の実行時刻が一致するのに対して、複雑なスケジュールでは、トリガーが作動するのは開始時刻以降となります。 "開始日時の使用方法を具体的に教えてください"[週] と [日] のどちらを選択するかに基づいて、次のプロパティを使用できます。
Property JSON 名 Required タイプ Description 設定日に weekDays
No 文字列または文字列配列 [週] を選択した場合は、ワークフローを実行する 1 日以上を選択できます。月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日 設定時刻 hours
No 整数または整数配列 [日] または [週] を選択した場合は、ワークフローを実行する 1 日の時間として 0 から 23 までの 1 つ以上の整数を選択できます。 たとえば、 10、 12、 14 を指定すると、その日の時間に対して午前 10 時、午後 12 時、午後 2 時が表示されます。
注: 既定では、1 日の分数は、繰り返しの開始時に基づいて計算されます。 特定の時刻 (たとえば、午前 10:00、午後 12:00、午後 2:00) を設定するには、[設定時刻 (分)] という名前のプロパティを使用してこれらの値を指定します。設定時刻 (分) に minutes
No 整数または整数配列 [日] または [週] を選択した場合は、ワークフローを実行する時間の分として 0 から 59 までの 1 つ以上の整数を選択できます。
たとえば、分マークとして 30 を指定し、1 日の時間に対して前の例を使用すると、午前 10 時 30 分、午後 12 時 30 分、午後 2 時 30 分を取得できます。
注: トリガーされた実行のタイムスタンプが、スケジュールされた時刻と最大 1 分異なる場合があります。 後続のアクションに対し、タイムスタンプをスケジュールどおりに正確に渡す必要がある場合は、テンプレート式を使用してタイムスタンプを適宜変更してください。 詳細については、式の日付と時刻の関数に関するページを参照してください。繰り返しトリガーを使用する場合は、次の考慮事項を確認します。
特定の 開始日時を指定しない限り、トリガーの繰り返しの設定にもかかわらず、ワークフローを保存するかロジック アプリ リソースをデプロイすると、最初の繰り返しが直ちに実行されます。 この動作を回避するには、最初の繰り返しを実行する開始日時を指定してください。
将来の繰り返しを実行する特定の時刻など、他の高度なスケジュール オプションを指定しない場合、これらの繰り返しは前回の実行時刻に基づいています。 その結果、ストレージ呼び出し中の待機時間などの要因によって、それらの繰り返しの開始時刻がずれる可能性があります。
特に頻度が日数以上の場合に、ワークフローが繰り返しを見逃さないようにするには、次のオプションを試してください:
繰り返しの開始日時と、後続の繰り返しを実行する特定の時刻を指定します。 [設定時刻 (時間)] と [設定時刻 (分)] というプロパティを使用できます。これらを使用できるのは、頻度が [日] と [週] の場合のみです。
従量課金ロジック アプリ ワークフローの場合は、繰り返しトリガーではなく スライディング ウィンドウ トリガーを使用します。
ARM テンプレートを使用して 繰り返し トリガーを持つ無効な従量課金ワークフローをデプロイする場合、デプロイ前に 開始時刻 パラメーターを設定しない限り、ワークフローを有効にするとトリガーが即座に発生します。
たとえば、今日が 2024 年 9 月 4 日水曜日であるとします。 次の 繰り返し トリガーは、指定された開始日と時刻 (2024 年 9 月 18 日水曜日の太平洋時間 8:00 AM) よりも 早く 起動しません。 ただし、繰り返しのスケジュールは月曜日の 10:30 AM、12:30 PM、2:30 PM にのみ設定されています。 最初にトリガーが作動してワークフロー インスタンスが作成される時刻は月曜日の午前 10 時 30 分となります。 開始時刻の動作について詳しくは、開始時刻の例を参照してください。
その後は、同じ日の 12:30 PM と 2:30 PM に実行されます。 繰り返しのたびに、ワークフロー インスタンスが新しく作成されます。 その後は、次の月曜日に再び、スケジュール全体が最初から繰り返されます。 "その他の繰り返しの例"
Note
トリガーには、頻度として [日 ] または [週 ] を選択した場合にのみ、指定した繰り返しのプレビューが表示されます。
次に、他のアクションを使用してワークフローの作成を続けます。
ワークフロー定義 - 繰り返し
選択したオプションと共に Recurrence トリガー定義がどのように表示されるかを確認するには、従量課金ロジック アプリと標準ロジック アプリ (ステートフルのみ) でのワークフローの基になる JSON 定義を確認します。
ロジック アプリが従量課金か標準かに基づいて、次のいずれかのオプションを選択します。
使用: デザイナー ツールバーで [コード ビュー] を選択します。 デザイナーに戻すには、コード ビュー エディターのツール バーで [ デザイナー] を選択します。
標準: ワークフロー メニューで、[ コード ビュー] を選択します。 デザイナーに戻すには、ワークフロー メニューの [デザイナー] を選択します。
次の例は、ワークフローの基になる JSON 定義に 繰り返し トリガー定義がどのように表示されるかを示しています。
"triggers": {
"Recurrence": {
"type": "Recurrence",
"recurrence": {
"frequency": "Week",
"interval": 1,
"schedule": {
"hours": [
10,
12,
14
],
"minutes": [
30
],
"weekDays": [
"Monday"
]
},
"startTime": "2024-09-18T8:00:00Z",
"timeZone": "Pacific Standard Time"
}
}
}
Note
繰り返しトリガーの定義では、繰り返し条件に式またはパラメーター参照が表示されると、evaluatedRecurrence
プロパティがrecurrence
プロパティと共に表示されます。
evaluatedRecurrence
プロパティは、式またはパラメーター参照からの評価された値を表します。 繰り返し条件で式またはパラメーター参照が指定されていない場合、evaluatedRecurrence
および recurrence
プロパティは同じです。
次の例は、各月の最終日にトリガーが 1 回だけ実行されるようにトリガー定義を更新する方法を示しています。
"triggers": {
"Recurrence": {
"recurrence": {
"frequency": "Month",
"interval": 1,
"schedule": {
"monthDays": [-1]
}
},
"type": "Recurrence"
}
}
月の最終日に 1 回実行する
このタスクでは、次の例を使用して、デザイナーではなくコード ビューを使用して、ワークフローの基になる JSON 定義の 繰り返し トリガーを編集する必要があります。
"triggers": {
"Recurrence": {
"recurrence": {
"frequency": "Month",
"interval": 1,
"schedule": {
"monthDays": [-1]
}
},
"type": "Recurrence"
}
}
トリガーの繰り返しのシフトやずれ (夏時間)
Azure Logic Apps では、ジョブをスケジュールするために、処理するメッセージをキューに入れ、最後のジョブが実行された UTC 時刻と、次のジョブの実行がスケジュールされている UTC 時刻に基づいて、そのメッセージが使用可能になる時刻を指定します。 繰り返しにおいて開始時刻を指定する場合は、"タイム ゾーンを選択" して、指定した開始時刻にロジック アプリ ワークフローが実行されるようにしてください。 そうすることで、ロジック アプリの UTC 時刻も、季節の時間変化に合わせてシフトされます。 繰り返しのトリガーは、指定したタイム ゾーンを含め、設定したスケジュールに従います。
タイムゾーンを選択しないと、トリガーが実行されるタイミングが夏時間 (DST) イベントの影響を受ける可能性があります。 たとえば、開始時刻が DST の開始時には 1 時間先に、DST の終了時には 1 時間前にシフトされます。 ただし、一部の時間枠では時間がシフトされるときに問題が発生することがあります。 詳細と例については、夏時間と標準時間での繰り返しに関する記事を参照してください。