Создание операций переключения, которые выполняют операции рабочего процесса на основе определенных значений в Azure Logic Apps

Область применения: Azure Logic Apps (потребление)

Добавьте операцию переключения для выполнения определенных операций на основе значений объектов, выражений или токенов. Эта структура оценивает объект, выражение или маркер, выбирает вариант, который соответствует результату, и выполняет определенные действия только для этого варианта. При выполнении операции переключения результат должен совпадать только с одним вариантом.

Например, предположим, что вы хотите, чтобы приложение логики выполняло различные действия на основе параметра, выбранного в сообщении. В этом примере приложение логики проверяет RSS-канал веб-сайта для обнаружения нового содержимого. Если в RSS-канале появляется новый элемент, приложение логики отправляет сообщение утверждающему лицу. В зависимости от того, что выбрал утверждающий ("Утвердить" или "Отклонить"), приложение логики выполняет различные действия.

Совет

Как и в других языках программирования, операции переключения поддерживают только операторы равенства. Если вам нужны другие операторы отношения (к примеру, оператор «больше чем»), используйте выражение условия. Чтобы выполнение было детерминированным, варианты должны содержать уникальные статические значения, а не динамические маркеры или выражения.

Необходимые компоненты

  • Подписка Azure. Если у вас нет ее, вы можете зарегистрироваться для получения бесплатной учетной записи Azure.

  • Чтобы следовать примеру в этой статье, создайте пример рабочего процесса приложения логики потребления с помощью учетной записи Outlook.com или рабочей или учебной учетной записи.

    1. Когда вы добавляете действие для отправки сообщения, найдите и выберите действие Send an approval email (Отправить сообщение с утверждением)

      Select

    2. Заполните необходимые поля, например адрес электронной почты получателя письма с утверждением. В разделе Параметры пользователя введите "Утвердить", "Отклонить".

      Enter email details

Добавление операции переключения

  1. В этом примере добавьте операцию переключения в конец рабочего процесса, используемого для примера. После выполнения последнего шага выберите Новый шаг.

    Если вы хотите добавить операцию переключения между шагами, наведите указатель мыши на стрелку, указывающую место добавления операции переключения. Щелкните появившийся знак плюс (+), затем выберите Добавить действие.

  2. В поле поиска введите слово "switch" в качестве фильтра. Выберите действие: Switch — Элемент управления

    Add switch

    Операция переключения отобразится с одним вариантом и вариантом по умолчанию. По умолчанию в операции переключения должен быть создан по меньшей мере один вариант, помимо варианта по умолчанию.

    Empty default switch action

  3. Щелкните внутри поля On, чтобы отобразился список динамического содержимого. Выберите в списке поле SelectedOption, выходные данные которого определяют действие для выполнения.

    Select

  4. Для обработки вариантов, когда утверждающий выбирает Approve или Reject, добавьте другой вариант между Вариант и По умолчанию.

    Add another case

  5. Добавьте следующие действия в соответствующие варианты:

    № варианта SelectedOption Действие
    Вариант 1 Утвердить Добавьте действие Outlook Send an email (Отправить сообщение), чтобы отправить сведения об элементе RSS только после того, как утверждающий выбрал Утвердить.
    Случай 2 Отклонить Добавьте действие Outlook Send an email (Отправить сообщение), чтобы уведомить других утверждающих о том, что элемент RSS был отклонен.
    Default нет Никаких действий не требуется. В этом примере вариант По умолчанию пуст, потому что для SelectedOption доступны только два варианта.

    Finished switch action

  6. Сохраните приложение логики

    Чтобы вручную протестировать этот пример, выберите Запуск. Приложение логики должно найти новый элемент 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".

Поддержка

Следующие шаги