次の方法で共有


Azure Logic Apps のワークフロー アクションで並列分岐を作成または結合する

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

既定では、ロジック アプリ ワークフロー内のアクションは順番に実行されます。 アクションを別々の分岐に編成し、それらの分岐を同時に実行するには、並列分岐を作成して、ワークフローで後からそれらの分岐を結合することができます。

このガイドでは、次の概要図に示すように、ワークフローで並列分岐を作成し、それらの分岐を再結合する方法を示します。

後でワークフローに結合する並列分岐を含む概念図の概要を示すスクリーンショット。

ヒント

ワークフロー トリガーが配列を受け取り、配列内の各項目に対してワークフロー インスタンスを実行したい場合は、並列分岐を作成するのではなく、代わりに SplitOn トリガー プロパティ を使ってその配列を "バッチ解除" できます。

前提条件

  • Azure サブスクリプション。 サブスクリプションをお持ちでない場合には、無料の Azure アカウントにサインアップしてください。

  • トリガーで開始するロジック アプリ ワークフローと必要なアクション。 ワークフローに複数のアクションが含まれ、それらの間に並列分岐を追加する必要があることを確認します。

並列分岐の使用に関して考慮すべきこと

  • 並列分岐は、その runAfter プロパティの値が親アクションの完了状態と一致する場合にのみ実行されます。 たとえば、branchAction1branchAction2 で開始する分岐はどちらも、parentActionSucceeded 状態で完了した場合にのみ実行されます。

  • ワークフローは、同じレベルのすべての並列分岐が完了するのを待ってから、これらの分岐を結合するアクションを実行します。

並列分岐アクションを追加する

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

  2. 並列分岐を追加するアクションの間を接続する矢印の上に、ポインターを移動します。

  3. 表示されるプラス記号 (+) を選んでから、[並列分岐の追加] を選びます。

    選択したプラス記号と選択したオプション [並列分岐の追加] を含む Standard ワークフローを示すスクリーンショット。

  4. 次に、並列分岐で実行するアクションを追加します。 [アクションの追加] ペインと検索ボックスで、目的のアクションを見つけて選びます。

    [操作の選択] という名前の検索ボックスを含む Standard ワークフローを示すスクリーンショット。

    これで、次の例のように、選んだアクションが並列分岐に表示されます。

    Standard ワークフロー、並列分岐、および前に選択したアクションを示すスクリーンショット。

  5. 並列分岐に別のアクションを追加するには、新しいアクションを追加するアクションの下にあるプラス (+) 記号を選んで、[アクションの追加] を選びます。

    Standard ワークフローと、同じ並列分岐に別のアクションを追加する方法を示すスクリーンショット。

  6. [操作を選択してください] 検索ボックスで、目的のアクションを見つけて選びます。

    これで、次の例のように、選択したアクションが現在の分岐に表示されます。

    順次アクションが追加された Standard ワークフローを示すスクリーンショット。

分岐を 1 つに戻すには、並列分岐を結合します。

並列分岐定義 (JSON)

コード ビューで作業している場合、代わりに次の例のように、ロジック アプリ ワークフローの JSON 定義で並列構造を定義できます。

{
  "triggers": {
    "myTrigger": {}
  },
  "actions": {
    "parentAction": {
      "type": "<action-type>",
      "inputs": {},
      "runAfter": {}
    },
    "branchAction1": {
      "type": "<action-type>",
      "inputs": {},
      "runAfter": {
        "parentAction": [
          "Succeeded"
        ]
      }
    },
    "branchAction2": {
      "type": "<action-type>",
      "inputs": {},
      "runAfter": {
        "parentAction": [
          "Succeeded"
        ]
      }
    }
  },
  "outputs": {}
}

並列分岐を結合する

並列分岐をマージするには、すべての分岐の下に別のアクションを追加するだけです。 このアクションは、上記のすべての並列分岐の実行が完了した後でのみ実行されます。

  1. Azure portal で、Standard ロジック アプリと、結合する並列分岐を含むワークフローを、デザイナーで開きます。

  2. 結合する並列分岐のいずれかの下にあるプラス記号 (+) を選んで、[アクションの追加] を選びます。

    プラス記号が選択された Standard ワークフローを示すスクリーンショット。

  3. [アクションの追加] ペインと検索ボックスで、分岐の結合に使うアクションを見つけて選びます。

    Standard ワークフロー、[操作の選択] という名前の検索ボックス、並列分岐を結合するために選択可能なアクションを示すスクリーンショット。

  4. デザイナーで、前に追加したアクションを選びます。 アクションの情報ペインが開いたら、[設定] を選びます。

  5. [設定] ペインの [Run After] (実行条件)[アクションの選択] の一覧を開き、結合アクションの実行前に完了する必要がある各分岐の最後のアクションを選びます。

    これは実質的に、選んだすべてのアクションの実行完了後にのみ結合アクションを実行するよう指定することになります。

    Standard ワークフロー、上記の並列分岐を結合するアクション、および最初に実行が完了するために選択したアクションを示すスクリーンショット。

    完了すると、選んだアクションが、結合する並列分岐の下に表示されます。次に例を示します。

    上記の並列分岐を結合するアクションを含む Standard ワークフローを示すスクリーンショット。

結合の定義 (JSON)

コード ビューで作業している場合、代わりに次の例のように、ロジック アプリ ワークフローの JSON 定義で結合アクションを定義できます。

{
  "triggers": {
    "myTrigger": { }
  },
  "actions": {
    "parentAction": {
      "type": "<action-type>",
      "inputs": { },
      "runAfter": {}
    },
    "branchAction1": {
      "type": "<action-type>",
      "inputs": { },
      "runAfter": {
        "parentAction": [
          "Succeeded"
        ]
      }
    },
    "branchAction2": {
      "type": "<action-type>",
      "inputs": { },
      "runAfter": {
        "parentAction": [
          "Succeeded"
        ]
      }
    },
    "joinAction": {
      "type": "<action-type>",
      "inputs": { },
      "runAfter": {
        "branchAction1": [
          "Succeeded"
        ],
        "branchAction2": [
          "Succeeded"
        ]
      }
    }
  },
  "outputs": {}
}

次のステップ