TimerTrigger/SpringBatch

TimerTriggerによって動作するAzure Functionsの関数を手動実行してみた

Timer Triggerによって、一定時間が来たタイミングでAzure Functionsが動作するアプリケーションを作成できるが、このアプリケーションは、Azure Portal上で手動で実行することもできる。

今回は、Azure Functions上でTimerTriggerによって動作するJavaアプリケーション(Spring Boot上)を手動で実行してみたので、共有する。

前提条件

下記記事のサンプルプログラムを作成済であること。

Azure Functions上でTimerTriggerによって動作するJavaアプリケーション(Spring Boot上)を作成してみたこれまでは、HTTPリクエストによりAzure Functionsが動作するアプリケーションのみ作成してきたが、Timer Trigge...

作成したサンプルプログラムの修正

前提条件の記事のサンプルプログラムを、10分毎にTimerTriggerイベントが発生するように修正する。なお、下記の赤枠は、前提条件のプログラムから変更したプログラムである。
サンプルプログラムの構成

修正したTimerTriggerイベントが発生したタイミングで呼ばれるハンドラークラスの内容は以下の通りで、10分毎にTimerTriggerイベントが発生するように修正している。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/azure/tree/master/azure-functions-timer-trigger-manual/demoAzureFunc

また、その後のビルドとデプロイ手順については、前提条件の記事を参照のこと。



関数の手動実行

Azure Functions上でTimerTriggerによって動作するJavaアプリケーション(Spring Boot上)を手動で実行するのは、Azure Portal上で実行できる。その手順は、以下の通り。

1) Azure Functionsの概要を表示した状態で「関数」メニューを押下する。
TimerTrigger手動実行_1

2) デプロイした関数名のリンクを押下する。
TimerTrigger手動実行_2

3)「コードとテスト」メニューを押下する。
TimerTrigger手動実行_3

4)「テストと実行」タブを押下する。
TimerTrigger手動実行_4

5) そのまま、「実行」ボタンを押下する。
TimerTrigger手動実行_5

6) Azure Functionsの関数「timerTriggerTest」が実行され、HTTP応答コードが202(リクエストが受理された)が返されることが確認できる。また、ログの先頭を見ると、リクエストが送信された時間が確認できる。
TimerTrigger手動実行_6

7) ログを確認するため、「モニター」メニューを押下する。ログの一覧が表示されるため、リクエストが送信された時間のログのリンクを押下する。
TimerTrigger手動実行_7

8) ログに、以下の赤枠の、ハンドラークラスとサービスクラスのログが出力されることが確認できる。ログが実行されたのは12:16であるが、ログを見ると、Timer Triggerが動作するタイミングは「12:10」「12:20」と10分置きであることが確認できる。
TimerTrigger手動実行_8

要点まとめ

  • Azure Functions上でTimerTriggerによって動作するJavaアプリケーションは、自動で実行されるタイミングでなくても、Azure Portal上で手動実行できる。手動実行するには、Azure Portal上で実行したい関数の「コードとテスト」メニューを開いて実行すればよい。