Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Logic Apps で Azure Synapse Analytics の課金情報を取得しメール通知する

Posted at

はじめに

Azure Portal の Synapse ワークスペースの画面にオートメーションのタスクが追加されていました。アイコンを見る限り、Logic Apps のリソースが動作するものと思われます。
20201104_synapse_automation_01_task.JPG

デフォルトでテンプレートも用意されており、どうやら毎月のコストを通知してくれるようです。
20201104_synapse_automation_02_task.JPG

今回はこの機能を試してみた結果と、一部カスタマイズした内容についてご紹介します。

リソース作成

テンプレートを元にリソース作成を進めていきます。サービス接続用のログイン資格情報を聞かれるので、それぞれ入力します。Azure Resource Manager に関しては対象のサブスクリプションに対して適切な権限を持っているアカウントでないと実行時にエラーになりますので、ご注意ください。
20201104_synapse_automation_03_task.JPG

画面を進め、タスク名と通知先の E メールアドレスを入力します。20201104_synapse_automation_05_task.JPG

これで作業は完了です。以下のようにタスクが作成されていることが、確認できます。
20201104_synapse_automation_06_02_task.JPG

デザイナーに表示される処理フローは以下の通りです。大まかな流れとしては、「Invoke resource operation in provider」で対象サブスクリプション内の全リソースの課金情報を取得し「Filter array」で Resource ID による絞り込みを行い、「Send an email (V2)」でその金額をメール通知する、といったものになります。
20201104_synapse_automation_07_task.JPG

実行、内容解析、修正

出来上がったタスクを手動実行すると正常に動作し、メールが届きました。しかし、Synapse の割には妙に金額が少ないです。よくよく見てみると、 取得しているリソースが今動かしている Logic Apps 自身になっていました。 これは、期待していた動きとは異なります。
20201104_synapse_automation_08_task.JPG

原因特定のため、自動生成された部分も含めて設定内容を精査していきます。まず「Filter array」の設定から、「ResourceId」というパラメーターを絞り込み条件に指定していることがわかります。
20201104_synapse_automation_09_task.JPG

次にコードビューで ResourceId パラメーターの内容を見てみると、メールに記載されていた Logic Apps のリソース ID が指定されていることが確認できました。そこで、このパラメーターの値を Synapse の Dedicated SQL pool のリソース ID に上書きします。
20201104_synapse_automation_10_task.JPG

上書き後に再度タスクを実行することで、Synapse Analytics の Dedicated SQL pool の利用料金がメール通知されることが確認できました。
20201104_synapse_automation_11_task.JPG

まとめ

Logic Apps ベースで作成されるタスクを微修正することで、Synapse Analytics の利用料を通知する仕組みが簡単に構築できることをご紹介しました。Synapse Analytics をプロダクト環境で使用する場合は扱うデータ量も膨大なものとなり、コスト管理にも注意を払う必要が出てきますので、こういった仕組みが Azure 側で提供されているのはありがたいですね。

この仕組みに関してはSpark pool 等の課金情報も併せて取得したり通知先を Teams にするなど色々と応用が利きそうなので、時間のあるときにまた試してみたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?