NEXTSCAPE blog

株式会社ネクストスケープの社員による会社公式ブログです。ネスケラボでは、社員が日頃どのようなことに興味をもっているのか、仕事を通してどのような面白いことに取り組んでいるのかなど、会社や技術に関する情報をマイペースに紹介しています。

MENU

プログラミングなしでお手軽な Azure Logic Apps

こんにちは。
コンサルティング & テクノロジー部 Azure チームの吾郷です。
 
私のお仕事は開発業務を中心にやっているのですが、これから Microsoft Azure を利用したシステム開発を企画しているお客様を対象としたAzure のセミナーの講師もやっています。
今回は、そのセミナーで好感触のサービスである、Azure Logic Apps について紹介します。
多分、プログラミングなしでWebサービスをつなげ合わせたサービスが簡単に作れるところがウケているんじゃないかなって思います。
 
Logic Apps からは、Microsoft Azure の機械学習系サービスである Cognitive Services も簡単に利用することができるので、
組み合わせて利用するのも面白いですよ。
 

f:id:nextscape_blog:20210910205211j:plain

 

 

1.Logic Apps とは



簡単に Logic Apps について説明します。
Logic Apps は、Microsoft Azure の PaaS サービスでアプリケーションをホストする App Service のサブ機能の位置づけのサービスです。
特徴としては、プログラミングなしで手軽に複数のサービスを相互にコネクションすることができます。
すでに、接続用に準備されたコネクタは現時点で約160種類あります。
https://docs.microsoft.com/ja-jp/azure/connectors/apis-list


今回は、RSS を使って Azure Update の記事が更新されたことを検知し、それをトリガに記事の概要を日本語に翻訳し、Slack に通知するサービスをプログラミングなしで作成しようと思います。

ちなみに、
私は試したことがないのですが、オンプレミスの環境に Gateway をインストールすることで、Azure とオンプレミス環境を接続することもできようです。
https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-gateway-install

詳しいことは、Logic Apps のドキュメントをご覧ください。
https://docs.microsoft.com/ja-jp/azure/logic-apps/

また、Office 365 にも Flow という Logic Apps と似たようなサービスがあります。
Flow と Logic Apps の違いにつきましては、以下のドキュメントをご覧いただくといいと思います。
https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-compare-logic-apps-ms-flow-webjobs


2.早速作ってみた



前述のとおり、Azure Update で記事が更新されたら、概要を日本語に変換して Slack に飛ばしたいと思います。
ちなみに、日本語翻訳しないのであれば、Slack の RSSのアプリを使った方が簡単に作成できると思います。
が、今回は翻訳入れますw

まずは、Logic Apps を作りましょう。
こんな感じでぽちぽちとします。

f:id:nextscape_blog:20210910205303j:plain

 



f:id:nextscape_blog:20210910205324j:plain

 



Logic Apps は、App Service に含まれていますが、今は、従量課金のサービスとなります。
料金については、Logic Apps の価格表のページ(https://azure.microsoft.com/ja-jp/pricing/details/logic-apps/
)をご覧ください。
ちなみに、以前は従量課金から App Service Plan に変更することができましたが、今はできないみたいです。

f:id:nextscape_blog:20210910205356j:plain



続いて、Logic Apps の処理をデザイナーを使って作成します。
完成形はこんな感じです。

f:id:nextscape_blog:20210910205415j:plain


やっていることをざっくり書くとこんな感じです。

1.RSSコネクタで1時間に1回の周期で「https://azure.microsoft.com/en-us/blog/feed/」を監視して、更新があった分を取得する。

2.Microsoft Translator コネクタで、RSSの概要を日本語に変換

3.Slack コネクタで、RSS や Microsoft Translator で取得した情報を Slack に Post

  ではこんな感じで、Feed を受け取る URL を指定します。

動かした結果はこんな感じです。
・タイトル
・リンクのURL
・概要の翻訳

f:id:nextscape_blog:20210910205438j:plain


ネタとしては面白くないですが、とっても簡単なことが伝わってるといい感じです。



3.最後に



Logic Apps は、コードを書くことなく簡単に様々なサービスをつなぎ合わせることができるのが、とても面白いと思います。
また、アクションには、Azure Functions なども利用できますので、ちょっとしたロジックを呼び出すこともできます。
イメージとしては、ちょっとした小さめのジョブネットが作れるような感じですかね。

また、Azure Event Grid と組み合わせることで、Azure のリソースの変化をトリガーにすることができるので、例えば、仮想マシンを作成したというのを受け取って、次の処理を実行するってこともできます。


今回は紹介しませんでしたが、Logic Apps では、統合アカウントというのを利用することによって B2B な接続もできるみたいです。
https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-enterprise-integration-b2b

簡単にできるのに、意外と色んな事ができるので、是非皆さんもお試しください!!

あと、セミナーをやりたいっていう企業様おりましたら、以下からお問合せくださーい。(宣伝でおわる。。)

問い合わせ