Logic Apps から Slack に通知する

以前に Bot Framework で Slack の bot を構成するを書きましたが、
今回はこの素因数分解の bot を Logic Apps で作成してみます。
自然数をランダムに生成して素因数分解してその結果を Slack に通知する、
というのを 10 分間隔で実行することにします。

まず、Azure ポータルで Logic App を作成します (手順は初めてのロジック アプリの作成を参照)。
名前は、グローバルに一意である必要はありません。

次に、デザイナーでロジックを追加していきます。
完成したワークフローを先に示します。

 

以下は、各アクションについての説明や注意点です。

(1) 繰り返し (Recurrence)
最初のトリガーとして [繰り返し] を選択し、10 分間隔で実行されるようにしています。

(2) Azure Functions
アクションとして [Azure Functions] を選択すると、同じアカウント内で作成済みの関数を選択できます。
([HTTP] というアクションで URL を指定する方法もあります。)

Logic-Apps-Functions

ここでは、前回の Azure Functions で Web API を作成するで用意した Azure Functions の 2 つの関数を利用します。

(3) データ操作 – JSON の解析
前の関数からは

{ "result": "5439 = 3 ・ 7^2 ・ 37" }

という形式の JSON が返るため、あとで必要になる文字列 (result プロパティの値) を取り出すためにこれを解析します。
[スキーマ] は、この JSON を入力すれば作成されます。

(4) Slack – 投稿メッセージ
投稿先のチャネルとメッセージを指定します。
初回の設定時にはアカウントを認証する必要があります。Logic Apps 上の画面で失敗する場合は、[API 接続] から設定できます。

Logic-Apps-Slack

 

以上で完成です。
下図は Slack のスクリーン ショットです。

Factorization-Slack

 

前回: Azure Functions で Web API を作成する

参照
Flow、Logic Apps、Functions、WebJobs の比較
Logic Apps とは
Azure Functions を使用したロジック アプリのカスタム コードの追加と実行

Bot Framework で Slack の bot を構成する