パブリッククラウドの保有するサービスは変化が早く更新情報についてはアンテナを張り巡らせる必要があります。
私が利用しているMicrosoftのAzureに関しても以下のサイトで不定期にサービスの更新や新しい機能の追加に関する情報が発信されており、人力で更新情報を追い続けることは少しばかり骨が折れます。。。
https://azure.microsoft.com/ja-jp/updates/
しかし、このサイトには幸運なことにもRSSフィードが設けられており、これを利用することで更新情報の有無を確認出来そうな気がしていました。
そこで今回はUpdate情報のRSSフィードを監視する仕組みを作成することにしました。
#実現する構想
今回の仕組みを構築する方法としてプログラムでの実現も考えましたが、AzureのPaaSを用いて簡単に実現できないかと思い、今回はLogic Appsを試してみることにしました。
また、実際に通知を受ける方法も必要なので、Teamsのチャネルに投稿する形で構築します。
#構築手順
まず、Azure上でLogic Appsのリソースを作成します。
次に構築したリソースに移動し、トリガーとアクションの詳細を設定します。
Logic Appsはコネクタを用いて視覚的にデータフローを構築できるので、プログラミングレスで実現することができます。
今回はテンプレートにないシナリオなので、「空のロジックアプリ」から作成します。
Logic Appsのデータフローを構成するコネクタの種類はサービスを開始するトリガーと、サービスの内容となるアクションの2種類あります。
構築手順として先にトリガーとなるコネクタを設定します。今回はRSSを検知するので検索バーから「RSS」と検索します。
今回のトリガーの設定については以下のように入力しました。
設定値としては、「RSSフィードのURL」が今回RSSフィードを取得するURL、「項目を確認する頻度」はなるべくすぐに検知できるように1時間に一度更新の有無を確認するような設定をしています。
また、タイムゾーンについてはどこまで起因しているか公開情報から確認出来ていないのですが、念のため、日本のタイムゾーンを設定しています。
トリガーが設定できたので、アクションとなるコネクタを追加していきます。
作成したトリガー用のコネクタの下部にある「新しいステップ」を選択し、コネクタを追加していきます。
今回のアクションはTeamsへ投稿することを検討していますので、検索バーから「Teams」と検索し、「Microsoft Teams」を見つけます。
アクションの内容としては対象のチャネルへの投稿を実施します。
Teamsのコネクタを利用する場合にはOffice365を利用できるユーザーで認証する必要があります。
アクションの投稿内容について、チームとチャネルについては任意のものなので、説明を省きます。
投稿するメッセージの内容についてですが、RSSフィードから取得した内容を投稿に反映させます。
メッセージの記入の際にポップアップで「動的コンテンツ」が表示されますので、そこから前のコネクタで取得したデータを利用します。以下の画像のように項目が表示されない場合は、「もっと見る」を選択します。
今回の投稿内容としては「フィードの公開日付」、「フィードタイトル」、「フィードリンク」を選択します。
以上でRSSフィードの更新を検知して内容をTeamsへ投稿する設定は完了です。最後に保存を選択し、Logic Appsのデザイナー画面を終了します。
あとはAzureに関するアップデート情報が案内されるのを待つだけです。
#まとめ
プログラミングの知識等がほとんどない状態でも視覚的に設定ができ、かつ少ないアクションで実現できるので、衝撃的です。。。
やってみて思ったことは、Azureの最新情報については公開時は、ほとんどが英語で案内されるので、タイトルや概要については日本語にする方法を探ります。
また、Logic AppsのMicrosoft社公式の情報がかなりすくないので、コネクタの詳細などは実際に動かしてみないといけない部分もあり、ちょっと不便でした。。。
今回作成したものについてはちょこちょこアップデートしていくので、その際の備忘録として記事にしていく予定です。