Udostępnij przez


Tworzenie lub łączenie równoległych gałęzi akcji przepływu pracy w usłudze Azure Logic Apps

Dotyczy: Azure Logic Apps (Zużycie + Standardowa)

Domyślnie akcje w przepływie pracy aplikacji logiki są uruchamiane sekwencyjnie. Aby organizować akcje w oddzielne gałęzie i uruchamiać te gałęzie w tym samym czasie, utwórz gałęzie równoległe. Te gałęzie można dołączyć później w przepływie pracy.

W tym przewodniku pokazano, jak utworzyć gałęzie równoległe w przepływie pracy i ponownie połączyć te gałęzie, jak pokazano w tym przykładowym przepływie pracy:

Zrzut ekranu przedstawia przykładowy przepływ pracy z gałęziami równoległymi, które później scalają się razem.

Napiwek

W scenariuszach, w których masz wyzwalacz przepływu pracy, który odbiera i zwraca tablice, a chcesz, aby oddzielne wystąpienie przepływu pracy uruchamiało się dla każdego elementu tablicy, można debatchować tablicę jako alternatywę dla rozgałęziania. W przypadku wyzwalaczy, które obsługują tę funkcję, w projektancie można włączyć ustawienie Split on, które odpowiada właściwości splitOn w definicji wyzwalacza. Tylko wyzwalacze, które mogą akceptować i zwracać tablice obsługują tę funkcję. Aby uzyskać więcej informacji, zobacz artykuł Wyzwalanie wielu przebiegów w tablicy.

Wymagania wstępne

Zagadnienia dotyczące pracy z gałęziami równoległymi

  • Gałąź równoległa jest uruchamiana tylko wtedy, gdy jej wartość właściwości runAfter jest zgodna ze statusem ukończenia akcji nadrzędnej. Na przykład zarówno branchAction1, jak i branchAction2 są uruchamiane tylko wtedy, gdy parentAction kończy się ze statusem Sukces.

  • Przepływ pracy czeka na ukończenie wszystkich gałęzi równoległych na tym samym poziomie, zanim przepływ pracy uruchomi akcję, która łączy te gałęzie.

Dodawanie akcji gałęzi równoległej

  1. W witrynie Azure Portal otwórz zasób aplikacji logiki.

  2. W zależności od tego, czy masz aplikację logiki typu Konsumpcyjna czy Standardowa, wykonaj odpowiedni krok.

    • Zużycie

      • Na pasku bocznym zasobów w obszarze Narzędzia programistyczne wybierz projektanta, aby otworzyć przepływ pracy.
    • Standard

      1. Na pasku bocznym zasobu w obszarze Przepływy pracy wybierz pozycję Przepływy pracy.

      2. Na stronie Przepływy pracy wybierz przepływ pracy.

      3. Na pasku bocznym przepływu pracy w obszarze Narzędzia wybierz projektanta, aby otworzyć przepływ pracy.

  3. Między akcjami, w których chcesz dodać gałąź równoległą, najedź wskaźnikiem na strzałkę łączenia.

  4. Wybierz wyświetlony znak plus (+), a następnie wybierz pozycję Dodaj gałąź równoległą.

    Zrzut ekranu przedstawia przepływ pracy z wybranym znakiem plus i wybraną opcją Dodaj gałąź równoległą.

  5. Dodaj akcję, którą chcesz uruchomić w gałęzi równoległej. W okienku Dodawanie akcji i polu wyszukiwania znajdź i wybierz odpowiednią akcję.

    Zrzut ekranu przedstawia przepływ pracy z polem wyszukiwania o nazwie Wybierz operację.

    Wybrana akcja jest teraz wyświetlana w gałęzi równoległej:

    Zrzut ekranu przedstawia przepływ pracy, gałąź równoległą i wcześniej wybraną akcję.

  6. Aby dodać kolejną akcję do gałęzi równoległej, w obszarze akcji, w której chcesz dodać nową akcję, wybierz znak plus (+), a następnie wybierz pozycję Dodaj akcję.

    Zrzut ekranu przedstawia przepływ pracy i sposób dodawania kolejnej akcji do tej samej gałęzi równoległej.

  7. W okienku Dodawanie akcji i polu wyszukiwania znajdź i wybierz odpowiednią akcję.

    Wybrana akcja jest teraz wyświetlana w bieżącej gałęzi:

    Zrzut ekranu przedstawia przepływ pracy z dodaną akcją sekwencyjną.

Aby scalić gałęzie z powrotem, połącz gałęzie równoległe, jak w poniższej sekcji.

Definicja gałęzi równoległej (JSON)

W widoku kodu można zdefiniować strukturę równoległą w definicji JSON przepływu pracy aplikacji logiki.

{
  "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": {}
}

Łączenie gałęzi równoległych

Aby scalić równoległe gałęzie pod wszystkimi gałęziami, dodaj kolejną czynność. Ta akcja jest uruchamiana dopiero po zakończeniu działania powyższych gałęzi równoległych.

  1. W Azure portal otwórz aplikację logiczną i przepływ pracy zgodnie z opisem w poprzedniej procedurze.

  2. W dowolnej gałęzi równoległej, którą chcesz połączyć, wybierz znak plus (), a następnie wybierz pozycję +.

    Zrzut ekranu przedstawia przepływ pracy z wybranym znakiem plus.

  3. W okienku Dodaj akcję i wyszukiwanie znajdź i wybierz akcję, której chcesz użyć do łączenia gałęzi.

    Zrzut ekranu przedstawia przepływ pracy, pole wyszukiwania o nazwie Wybierz operację i dostępne akcje służące do łączenia gałęzi równoległych.

  4. W projektancie wybierz wcześniej dodaną akcję. Po otworze okienka informacji o akcji wybierz pozycję Ustawienia.

  5. Na karcie Ustawienia, pod Uruchom po, otwórz listę Wybierz działania. Wybierz ostatnią akcję w każdej gałęzi, która musi zostać zakończona przed uruchomieniem akcji połączenia.

    Akcja dołączania jest uruchamiana dopiero po zakończeniu działania wszystkich wybranych akcji.

    Zrzut ekranu przedstawia przepływ pracy, akcję łączącą poprzednie gałęzie równoległe i wybrane akcje do pierwszego zakończenia działania.

    Po zakończeniu wybrana akcja zostanie wyświetlona w gałęziach równoległych, które chcesz połączyć:

    Zrzut ekranu przedstawia przepływ pracy z akcją łączącą poprzednie gałęzie równoległe.

Definicja sprzężenia (JSON)

W widoku kodu możesz zdefiniować "join action" w definicji JSON przepływu pracy aplikacji Logic Apps.

{
  "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": {}
}