松本典子の「Azure Logic Apps」超入門 第2回
Azureログイン方法からデザイナー画面の基本操作、コネクタの条件分岐まで
世界一やさしい「Logic Apps」の操作解説
2018年02月27日 11時00分更新
コネクタの条件分岐とループ
ここまでは、コネクタを一直線につなぐワークフローを例に説明してきました。ここからは、コネクタの条件分岐やループの操作を紹介します。
条件分岐(if~else)と条件多分岐(switch~case)は、デザイナー画面で「条件」アクション、「スイッチ」アクションを追加することで設定できます。条件式を書く必要はありません。
繰り返し(ループ)処理を行うには、「For Each」アクションを使用します。デザイナー画面でFor eachアクションを追加します。
For Eachの設定でネストした(入れ子にした)ループを作ることも可能です。並列処理数はデフォルト20アクションになっていますが、デザイナー画面上で調整可能です。
untileループ(日本語表記「まで」)を使うと、条件が満たされるまで一連のアクションを実行できます。デザイナー画面でuntilループを追加し、ループ内にアクションを追加した後、終了条件とループの上限を設定します。
条件分岐やループのあるワークフローを作成する際は、一連のアクションをグループ(ブロック)化しておくと便利です。グループ化は「スコープ」アクションで行います。Logic Appsでは、条件分岐やループの処理を実行するタイミング(処理が成功、失敗、スキップ、タイムアウトしたら実行)を設定できるのですが、一連のアクションをブロック化しておくことで、「ブロック内の処理が1つでも失敗したらループする」というような処理を簡単に作成できます。
条件分岐に関する詳細は「Logic Appsの制限と構成」を参照してください。
コネクタ利用時のポイント
Logic Appsのコネクタには、いくつか利用時に注意した方がよいポイントがありますので、そちらを紹介します。
1つ目、トリガーで使用できるコネクタの中に「~したとき」という名前のものがあります。例えば、Outlookコネクタ(メールが届いたとき)やDropBoxコネクタ(ファイルが作成されたとき)ですが、現時点ではリアルタイムに動くトリガーではありません。ですので、利用時は「どのタイミングでトリガーを実行するか?」を選択する必要があります。
2つ目、Logic Appsは1アクションごとに課金される料金体系なので、トリガーを「毎秒確認する」という条件に設定すると費用がかさむ場合があり、注意が必要です。
3つ目、Logic Appsはエラー処理を作りたい場合、プログラムのようにif文を書くことはしません。「○○が成功したら、○○が失敗したら」という設定を使うことで、エラー処理を作成します。
上の図であれば、キーフレーズコネクタが「失敗した」場合、投稿メッセージ2が実行されるというワークフローになります。この設定をした場合、通常は黒矢印が赤点線の矢印になり、赤い矢印の先が「失敗した時の処理」になります。デザイナー画面上でも視覚的にわかりやすくなっています。
4つ目、提供されているコネクタは全てに「トリガー」と「アクション」があるわけではありません。例えば、Cognitive Servicesの「Computer Vision API(画像認識AIのAPI)」コネクタはトリガーが無く、アクションのみのコネクタです。
* * *
今回は、Azureアカウントの取得からLogic Appsの新規作成、ロジック アプリ作成の基本操作、コネクタの条件分岐などの応用操作まで紹介しました。コードを1行も書くことなく、アイデア次第でかなり複雑なシステムが作れそうなサービスであることがお分かりいただけたでしょうか?
次回は、Logic Appsで実務的に使える構成例を紹介します。
この連載の記事
-
第3回
TECH
クレーム対応AIを簡単実装、Logic Appsで「お問い合わせフォーム」を機能拡張してみよう -
第1回
TECH
誰もがシステム開発者!ノンコーディングで使える「Logic Apps」を試そう -
TECH
松本典子の「Azure Logic Apps」超入門 - この連載の一覧へ