はじめに
ほとんど触ったことがないAzure Functionsを、あえてMicrosoft LearnやDocsで予習せず、PowerShellスクリプトの基本的な知識だけで使えるのか、という観点で使ってみています。
前回は、一般的なPowerShellのコマンドレットなどを用いて、Azure Functionとじゃんけんを出来るようにしてみました。
今回は作成した関数に対して、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
舟越 匠(日本ビジネスシステムズ株式会社)
人材開発部に所属。社内向けの技術研修をしつつ、JBS Tech Blog編集長を兼任。2024年8月からキーマンズネットでPower Automateの連載を開始。好きなサービスはPower AutomateやLogic Apps。好きなアーティストはZABADAKとSound Horizon。
担当記事一覧