Создание операций переключения, которые выполняют операции рабочего процесса на основе определенных значений в Azure Logic Apps
Область применения: Azure Logic Apps (потребление)
Добавьте операцию переключения для выполнения определенных операций на основе значений объектов, выражений или токенов. Эта структура оценивает объект, выражение или маркер, выбирает вариант, который соответствует результату, и выполняет определенные действия только для этого варианта. При выполнении операции переключения результат должен совпадать только с одним вариантом.
Например, предположим, что вы хотите, чтобы приложение логики выполняло различные действия на основе параметра, выбранного в сообщении. В этом примере приложение логики проверяет RSS-канал веб-сайта для обнаружения нового содержимого. Если в RSS-канале появляется новый элемент, приложение логики отправляет сообщение утверждающему лицу. В зависимости от того, что выбрал утверждающий ("Утвердить" или "Отклонить"), приложение логики выполняет различные действия.
Совет
Как и в других языках программирования, операции переключения поддерживают только операторы равенства. Если вам нужны другие операторы отношения (к примеру, оператор «больше чем»), используйте выражение условия. Чтобы выполнение было детерминированным, варианты должны содержать уникальные статические значения, а не динамические маркеры или выражения.
Необходимые компоненты
Подписка Azure. Если у вас нет ее, вы можете зарегистрироваться для получения бесплатной учетной записи Azure.
Чтобы следовать примеру в этой статье, создайте пример рабочего процесса приложения логики потребления с помощью учетной записи Outlook.com или рабочей или учебной учетной записи.
Когда вы добавляете действие для отправки сообщения, найдите и выберите действие Send an approval email (Отправить сообщение с утверждением)
Заполните необходимые поля, например адрес электронной почты получателя письма с утверждением. В разделе Параметры пользователя введите "Утвердить", "Отклонить".
Добавление операции переключения
В этом примере добавьте операцию переключения в конец рабочего процесса, используемого для примера. После выполнения последнего шага выберите Новый шаг.
Если вы хотите добавить операцию переключения между шагами, наведите указатель мыши на стрелку, указывающую место добавления операции переключения. Щелкните появившийся знак плюс (+), затем выберите Добавить действие.
В поле поиска введите слово "switch" в качестве фильтра. Выберите действие: Switch — Элемент управления
Операция переключения отобразится с одним вариантом и вариантом по умолчанию. По умолчанию в операции переключения должен быть создан по меньшей мере один вариант, помимо варианта по умолчанию.
Щелкните внутри поля On, чтобы отобразился список динамического содержимого. Выберите в списке поле SelectedOption, выходные данные которого определяют действие для выполнения.
Для обработки вариантов, когда утверждающий выбирает
Approve
илиReject
, добавьте другой вариант между Вариант и По умолчанию.Добавьте следующие действия в соответствующие варианты:
№ варианта SelectedOption Действие Вариант 1 Утвердить Добавьте действие Outlook Send an email (Отправить сообщение), чтобы отправить сведения об элементе RSS только после того, как утверждающий выбрал Утвердить. Случай 2 Отклонить Добавьте действие Outlook Send an email (Отправить сообщение), чтобы уведомить других утверждающих о том, что элемент RSS был отклонен. Default нет Никаких действий не требуется. В этом примере вариант По умолчанию пуст, потому что для SelectedOption доступны только два варианта. Сохраните приложение логики
Чтобы вручную протестировать этот пример, выберите Запуск. Приложение логики должно найти новый элемент RSS и отправить письмо с утверждением. Выберите Утвердить, чтобы просмотреть результаты.
Определение JSON
Теперь, когда приложение логики создано с помощью оператора переключения, можно рассмотреть определение программного высокоуровневого кода операции переключения.
"Switch": {
"type": "Switch",
"expression": "@body('Send_approval_email')?['SelectedOption']",
"cases": {
"Case": {
"actions": {
"Send_an_email": {}
},
"case" : "Approve"
},
"Case_2": {
"actions": {
"Send_an_email_2": {}
},
"case": "Reject"
}
},
"default": {
"actions": {}
},
"runAfter": {
"Send_approval_email": [
"Succeeded"
]
}
}
Label | Description |
---|---|
"Switch" |
Имя операции переключения, которое можно изменить для удобства |
"type": "Switch" |
Указывает на то, что операция является операцией переключения |
"expression" |
В этом примере указывает на вариант, выбранный подтверждающим лицом, который сравнивается с указанными далее в определении вариантами значений. |
"cases" |
Определяет любое число вариантов. Для каждого варианта "Case_*" является именем по умолчанию, которое можно изменить для большей удобочитаемости. |
"case" |
Указывает значение варианта, которое операция переключения использует для сравнения. Это значение должно быть постоянным и уникальным. Если ни один вариант не соответствует результату выражения switch, выполняются действия в разделе "default" . |
Поддержка
- Если у вас есть вопросы, посетите страницу вопросов и ответов по Azure Logic Apps на сайте Майкрософт.
- Отправить предложения по поводу возможности или проголосовать за нее вы можете на сайте отзывов пользователей Azure Logic Apps.
Следующие шаги
- Выполнение шагов на основе условия (условное действие)
- Loops: Process arrays or repeat actions until a condition is met (Циклы. Обработка массивов или повторение действий до выполнения условия)
- Create or join parallel branches in your logic app (Создание или присоединение параллельных ветвей в приложении логики)
- Области. Выполнение шагов на основе состояния группы в приложениях логики