Azure Container InstanceでSpring Batchのアプリを動かすことをやっています。過去の内容は以下を参照してください。
- Azure Container InstanceでSpring Batchのアプリを動かす(2) - miyohide's blog
- Azure Container InstancesでSpring Batchのアプリを動かす - miyohide's blog
- Azure Container InstanceでSpring Batchのアプリを動かす(3)Azure ファイル共有をマウントする - miyohide's blog
今回作ったSpring BatchアプリはCSVファイルを読み取ってデータベースに追記する処理を行うものです。このアプリを定期実行することをやってみます。
Logic Appsを使ってみる
定期実行する仕組みは色々あるかと思いますが、今回はLogic Appsを利用することにします。
Azure Portal上でLogic Appsを作ると、以下のような画面が出てLogic Appsの操作がわかるようになっています。
画面をスクロールするといろいろとテンプレートが表示されるのですが、今回は「空のテンプレート」を選択します。こんな画面になりました。
スケジュールトリガーとAzure Container Instanceコネクタの利用
目的の定期実行を達成するには、スケジュールトリガーとAzure Container Instanceコネクタを利用すると良さそうです。ドキュメントは以下のものを参考にしました。
スケジュールトリガーは以下のもの。 docs.microsoft.com
Azure Container Instanceコネクタは以下のもの。 docs.microsoft.com
コネクタにはたくさんありますが、「コンテナー グループ内のコンテナーを開始する」を使いました。
作成結果は以下の通り。
5分ごとに起動するようにしました。
実行
5分ごとに起動するように設定したので、その動作を確認します。設定通り5分ごとに処理が行われています。
それぞれの行をクリックすると各ステップごとの実行時間などがわかるようです。
Azure Container Instance自身もLogic Appsのタイミングで起動しています。
やってみてわかりましたが、実行ごとにイメージの取得から行うようです。大きいイメージの場合は実際の処理時間とずれが顕著に現れるかもしれません。