はじめに
前回、Runbookを使用してAzureの利用料金を取得し、Logic Appsに送信するまでの手順を投稿しました。
本稿では、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円でした。