RunbookとLogic Appsを使用してAzure利用料金をTeams通知する -2- Logic Apps編

はじめに

前回、Runbookを使用してAzureの利用料金を取得し、Logic Appsに送信するまでの手順を投稿しました。

blog.jbs.co.jp


本稿では、Logic AppsによるAzure利用料金のTeams通知について記載します。

Logic Apps ワークフローの作成

Logic Apps のリソースはほぼ既定値で作成したため、手順は省略します。
ロジックアプリデザイナーで以下のフローを作成します。
learn.microsoft.com

以下のドキュメントを参考にしました。

HTTP要求の受信時

RunbookとLogic Apps間のデータのやり取りにGETメソッドを使用する方針とし、GETメソッドの受信時にLogic Appsをトリガーします。
JSONスキーマには利用料金とリソースグループ名を含めます。

Teamsのチャットにメッセージを投稿する

以下の値を入力します。

投稿者 フローボット
投稿先 Chat with Flow bot
Recipient 受信者のユーザープリンシパル名

[Message]には、チャットに送信するメッセージを入力します。今回は、メッセージにはリソースグループ名と利用料金を含めます。

リソースグループ名と利用料金をメッセージに含めるためには、「HTTP要求の受信」で受け取ったデータが必要です。これを参照するには、triggerOutputs() 式を使用します。式ボックスに関数を入力することで、関数を使用できます。

今回は以下の式をメッセージ内に組み込みます。

リソースグループ名 triggerOutputs()['queries']['resourcegroup']
利用料金 triggerOutputs()['queries']['cost']

一度保存すると、下の画像のように式の部分が青色の表示に変わります。


以上でLogic Appsワークフローの作成はおわりです。

挙動確認

毎朝9時にTeamsにメッセージが届くようになりました。

おわりに

月末ということもあり結構な金額になっていました。
節約します。。。

補足

この通知機能を実装するために使用したAzureリソースの料金は月々2~3円でした。

執筆担当者プロフィール
森野 祥平

森野 祥平(日本ビジネスシステムズ株式会社)

主にAzureに携わっています。好きなアーティストはB'zです。

担当記事一覧