Создание и присоединение параллельных ветвей с действиями рабочего процесса в Azure Logic Apps
Область применения: Azure Logic Apps (Потребление + Стандартный)
По умолчанию действия в рабочем процессе приложения логики выполняются последовательно. Чтобы упорядочить действия в отдельные ветви и запустить эти ветви одновременно, можно создать параллельные ветви, а затем присоединиться к этим ветвям позже в рабочем процессе.
В этом руководстве показано, как создать параллельные ветви в рабочем процессе и повторно присоединиться к этим ветвям, как показано на этой высокоуровневой схеме:
Совет
Если триггер рабочего процесса получает массив, и вы хотите запустить экземпляр экземпляра рабочего процесса для каждого элемента в массиве, а не создавать параллельные ветви, вместо этого можно расстроить этот массив с помощью свойства триггера SplitOn.
Необходимые компоненты
Подписка Azure. Если у вас нет ее, вы можете зарегистрироваться для получения бесплатной учетной записи Azure.
Рабочий процесс приложения логики, который начинается с триггера и нужных действий. Убедитесь, что рабочий процесс включает действия между тем, где нужно добавить параллельную ветвь.
Рекомендации по работе с параллельными ветвями
Параллельная ветвь выполняется только в том случае, если значение свойства runAfter соответствует завершенным состоянием родительского действия. Например, обе ветви, начиная с branchAction1 и branchAction2, выполняются только после завершения parentAction с состоянием Succeeded.
Рабочий процесс ожидает завершения всех параллельных ветвей на одном уровне перед выполнением действия, присоединенного к этим ветвям.
Добавление действия параллельной ветви
В портал Azure откройте приложение логики "Стандартный" и рабочий процесс в конструкторе.
Между действиями, в которых требуется добавить параллельную ветвь, переместите указатель на стрелку подключения.
Выберите знак плюса (+), который появится, и нажмите кнопку "Добавить параллельную ветвь".
Теперь добавьте действие, которое необходимо выполнить в параллельной ветви. В области действий и поле поиска найдите и выберите нужное действие.
Выбранное действие теперь отображается в параллельной ветви, например:
Чтобы добавить другое действие в параллельную ветвь, в действии, в котором нужно добавить новое действие, выберите знак плюса (+) и нажмите кнопку "Добавить действие".
В поле "Выбор операции" найдите и выберите нужное действие.
Теперь выбранное действие отображается в текущей ветви, как показано ниже:
Для выполнения обратного слияния ветвей соедините параллельные ветви.
Определение параллельной ветви (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": {}
}
Соединение параллельных ветвей
Чтобы объединить параллельные ветви вместе во всех ветвях, просто добавьте другое действие. Это действие выполняется только после завершения выполнения всех предыдущих параллельных ветвей.
В портал Azure откройте приложение логики уровня "Стандартный" и рабочий процесс с параллельными ветвями, которые необходимо присоединить к конструктору.
В любой из параллельных ветвей, которые вы хотите присоединить, выберите знак плюса (+), а затем нажмите кнопку "Добавить действие".
В области действий и поле поиска найдите и выберите действие, которое вы хотите использовать для присоединения к ветвям.
В конструкторе выберите ранее добавленное действие. После открытия области сведений о действии выберите Параметры.
В области Параметры в разделе "Запуск после" откройте список "Выбор действий" и выберите последнее действие в каждой ветви, которая должна завершиться до запуска действия соединения.
Вы фактически указываете, что действие соединения выполняется только после завершения выполнения всех выбранных действий.
После завершения выбранное действие теперь отображается в параллельных ветвях, которые вы хотите присоединить, например:
Определение соединения (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": {}
}
Следующие шаги
- Выполнение шагов на основе условия (условное действие)
- Выполнение шагов на основе различных значений (действие переключения)
- Loops: Process arrays or repeat actions until a condition is met (Циклы. Обработка массивов или повторение действий до выполнения условия)
- Области. Выполнение шагов на основе состояния группы в приложениях логики