Azure Functionsを使ってみる:[3] Power Automateからの利用

はじめに

ほとんど触ったことがないAzure Functionsを、あえてMicrosoft LearnやDocsで予習せず、PowerShellスクリプトの基本的な知識だけで使えるのか、という観点で使ってみています。

前回は、一般的なPowerShellのコマンドレットなどを用いて、Azure Functionとじゃんけんを出来るようにしてみました。

blog.jbs.co.jp

今回は作成した関数に対して、Power AutomateからデータをPOSTし、結果を受け取れるようにしたいと思います。

Azure FunctionsのURLの取得

まず、作成した関数のURLを取得しておきます。

あとで使うので、ここではひとまず値を控えておきます。

Power Automateの作成

おことわり

今回作成するフローでは、プレミアムコネクタであるHTTPのアクションを利用しています。プレミアムコネクタの利用が難しい場合は、Logic Appsでほぼ同等のことが出来るので、そちらをお試しください。*1

トリガーの設定

「手動でフローをトリガーする」をトリガーとして利用します。

入力で「"Rock", "Paper", "Scissors"」を選択できるようにしておきます。

HTTPコネクタの設定

HTTPコネクタを使ってアクションを作成します。

  • 方法:POST
  • URI:先ほど控えた関数のURL
  • 本文:関数のテストで指定したBODYの、値をトリガー時の入力で置き換えたもの

このようになります。

通知を受け取る

通知を受け取ります。今回は、メールで通知を受け取るようにしてみます。

先ほどのHTTPコネクタで作成したアクションで受け取った本文を、通知に入れるようにします。

Power Automateの実行

実際に実行してみます。

実行すると、このように、ドロップダウンリストから出す手を選ぶことが出来ます。

フローの実行結果を見ると、きちんと関数から結果が返ってきていることがわかります。

実際に、通知メールも届いていました。

おわりに

ということで、Azure Functionsで作成した関数を、外部から(今回はPower Automateから)利用することが出来ました。

Azure Functions側の予備知識はほとんどなくても、独自のPowerShellスクリプトをすんなり実装できたので、今後、「PowerShellではできるのにPower Automateだとどうしてもできない!」という機能をAzure Functionsで自分用のカスタムコネクタのように活用できればなと思います*2

*1:手動でトリガーの部分を変更する必要はありますが

*2:正規表現での置換用関数など作れたら便利そうですね

投稿者プロフィール
舟越 匠

舟越 匠

人材戦略部に所属。社内向けの技術研修をメインにしつつ、JBS Tech BlogやMS認定資格取得の推進役もやっています。資格としてはAzure Solutions Architect Expertを所持。Power AutomateやLogic Appsで楽をするのが好きです。

執筆記事一覧