Azure Logic Apps のワークフロー アクションを制御する条件を追加する

適用対象: Azure Logic Apps (従量課金 + Standard)

true または false を返す条件を設定し、ワークフローがアクションのパスまたは別のパスを実行するかどうかを決定する場合は、Condition という名前の Control アクションをワークフローに追加します。 条件は入れ子にすることもできます。

たとえば、Web サイトの RSS フィードに新着アイテムが追加されたときにメールを送信するワークフローで、メールの送信数が多すぎるとします。 対策として、新着アイテムに特定の文字列が含まれていた場合に限りメールを送信する条件アクションを追加することにします。

注意

ワークフローの実行パスを 3 つ以上に条件分岐させる場合や、条件判定が true、false 以外の結果になる可能性もある場合は、この方法ではなく、switch アクションを使用します

このガイドでは、ワークフローに条件を追加し、その結果に基づいてワークフローが 2つのアクションパスのどちらかを選択する方法を説明します。

前提条件

条件の追加

  1. Azure portal で、ロジック アプリ ワークフローをデザイナーで開きます。

  2. こちらの一般的な手順に従って、ワークフローに条件アクションを追加します

  3. [条件] アクションに、以下の手順に従って条件を設定します。

    1. 左側の [値の選択] ボックスで、比較する最初の値またはフィールドを入力します。

      [値の選択] ボックス内を選択すると、動的コンテンツ リストが自動的に開きます。 この一覧から、ワークフローの前の手順の出力を選択できます。

      この例では、フィードの概要という名前の RSS トリガー出力を選択しています。

      Azure portal、従量課金ワークフロー デザイナー、RSS トリガー、条件アクションとその条件構成を示すスクリーンショット。

    2. 中央のリストで、実行する操作を選択します。

      この例では、[次を含む] を選択しています。

    3. 右側の [値の選択] ボックスで、最初と比較する値またはフィールドを入力します。

      この例では、Microsoft という文字列を指定しています。

    完全な条件は次の例のようになります。

    従量課金ワークフローと完成した条件設定を示すスクリーンショット。

    • 条件に行を追加するには、[追加] メニューから、[行の追加] を選択します。

    • サブ条件を含んだグループを追加するには、[追加] メニューから、[グループの追加] を選択します。

    • 既存の行をグループ化するには、グループ化する複数行のチェック ボックスをオンにし、いずれかの行の省略記号 [...] ボタンを選択して、[グループにする] を選択します。

  4. True アクション パスと False アクション パスに、条件が true の場合と false の場合に実行するアクションをそれぞれ追加します。

    従量課金ワークフローと、true および false のパスを追加した条件アクションを示すスクリーンショット。

    ヒント

    既存のアクションを、ドラッグして [True] パスまたは [False] パスに入れることができます。

  5. ワークフローを保存します。 デザイナーのツール バーで、 [保存] を選択します。

以上で、このワークフローは、RSS フィードの新しいアイテムが所定の条件を満たしている場合にのみメールを送信するようになりました。

JSON の定義

次のコードは、Condition アクションの大まかな JSON 定義を示しています。 完全な定義については、「トリガーとアクションの種類のスキーマ リファレンス ガイド - Azure Logic Apps」で「If アクション」をご覧ください。

"actions": {
   "Condition": {
      "type": "If",
      "actions": {
         "Send_an_email_(V2)": {
            "inputs": {},
            "runAfter": {},
            "type": "ApiConnection"
         },
      },
      "expression": {
         "and": [ 
            {
               "contains": [ 
                  "@triggerBody()?['summary']",
                  "Microsoft"
               ]
            }
         ]
      },
      "runAfter": {
         "Condition": [
            "Succeeded"
         ]
      },
   }
},

次のステップ