Руководство по созданию автоматизированных рабочих процессов на основе расписания с помощью Azure Logic Apps

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

В этом руководстве показано, как создать пример рабочего процесса, выполняющегося в повторяющихся расписаниях с помощью Azure Logic Apps. В этом примере создается рабочий процесс приложения логики потребления, который проверяет время движения, включая трафик между двумя местами и выполняется каждый день недели утром. Если время превышает определенный предел, рабочий процесс отправляет электронное письмо с указанием времени в пути и дополнительного времени, необходимого, чтобы прибыть в пункт назначения. Рабочий процесс включает в себя различные шаги и начинается с запуска триггера по расписанию, за которым следует действие в Картах Bing, действие по выполнению операций с данными, действие потока управления и действие уведомления по электронной почте.

По завершении рабочий процесс выглядит следующим примером высокого уровня:

Снимок экрана: пример рабочего процесса потребления, который выполняется с триггером повторения.

Совет

Чтобы узнать больше, вы можете задать Azure Copilot следующие вопросы:

  • Что такое Azure Logic Apps?
  • Что такое рабочий процесс приложения логики потребления?
  • Что такое соединитель Bing Maps?
  • Что такое действие операций с данными?
  • Что такое действие потока управления?
  • Что такое соединитель Office 365 Outlook?

Чтобы найти Azure Copilot, на панели инструментов портал Azure выберите Copilot.

Вы можете создать аналогичный рабочий процесс с помощью ресурса приложения логики "Стандартный". Однако действия пользователя и руководства немного отличаются от версии потребления.

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

Создание ресурса приложения логики категории "Потребление"

  1. Войдите на портал Azure с помощью своей учетной записи Azure.

  2. В поле поиска портал Azure введите приложение логики и выберите приложения логики.

    Снимок экрана: поле поиска портал Azure с введенным и выбранным параметром приложения логики.

  3. На панели инструментов страницы "Приложения логики" нажмите кнопку "Добавить".

    Откроется страница "Создание приложения логики" и показаны следующие параметры:

    Планирование Description
    Потребление Создает ресурс приложения логики, поддерживающий только один рабочий процесс, который выполняется в мультитенантных Azure Logic Apps и использует модель потребления для выставления счетов.
    Стандартные Создает ресурс приложения логики, поддерживающий несколько рабочих процессов. У вас есть следующие параметры:

    - План службы рабочих процессов. Рабочие процессы выполняются в azure Logic Apps с одним клиентом и используют стандартную модель для выставления счетов.

    - Среда службы приложений версии 3. Рабочие процессы выполняются в Azure Logic Apps с одним клиентом и используют план Среда службы приложений для выставления счетов.
  4. На странице "Создание приложения логики" выберите "Потребление" (мультитенантная версия).

  5. На вкладке "Основные сведения" укажите следующие сведения о ресурсе приложения логики :

    Свойство Обязательное поле значение Описание
    Подписка Да <имя-подписки-Azure> Имя подписки Azure.

    В этом примере используется оплата по мере использования.
    Группа ресурсов Да <имя-группы-ресурсов-Azure> Группа ресурсов Azure, в которой будет создано приложение логики и связанные ресурсы. Это имя должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы (-), символы подчеркивания (_), круглые скобки (()) и точки (.).

    В этом примере создается группа ресурсов с именем LA-TravelTime-RG.
    Имя приложения логики Да <logic-app-resource-name> Имя ресурса приложения логики, которое должно быть уникальным в разных регионах и может содержать только буквы, цифры, дефисы (-), подчеркивания (_), скобки (()) и периоды (.).

    В этом примере создается ресурс приложения логики с именем LA-TravelTime.
    Регион Да <Azure-region> Регион центра обработки данных Azure для приложения.

    В этом примере используется регион западная часть США.
    Включение анализа журналов Да Нет Измените этот параметр, только если требуется включить ведение журнала диагностики. Для целей этого учебника оставьте выбор по умолчанию.

    Примечание. Этот параметр доступен только в приложениях логики потребления.

    Примечание.

    Зоны доступности автоматически включены для новых и существующих рабочих процессов приложения логики потребления в регионах Azure, поддерживающих зоны доступности. Дополнительные сведения см. в статье "Надежность" в Функции Azure и защита приложений логики от сбоев регионов с помощью избыточности зон и зон доступности.

    После завершения настройки будут выглядеть примерно так:

    Снимок экрана: страница портал Azure и создания для приложения логики многотенантного потребления и сведений.

  6. По завершении нажмите кнопку "Просмотр и создание". После того, как Azure проверит сведения о ресурсе приложения логики, выберите Создать.

  7. После развертывания ресурса приложения логики Azure выберите "Перейти к ресурсу". Или найдите и выберите ресурс приложения логики с помощью поля поиска Azure.

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

Добавление триггера повторения

  1. В конструкторе рабочих процессов выполните следующие общие действия, чтобы добавить триггер schedule с именем "Повторение".

  2. Переименуйте триггер повторения со следующим заголовком: проверьте время путешествия каждый день недели утром.

    Снимок экрана: конструктор рабочих процессов и область сведений для триггера повторения с переименованным триггером.

  3. В поле сведений о триггере укажите следующие сведения:

    Параметр Стоимость Описание
    Интервал 1 Количество интервалов ожидания между проверками.
    Периодичность неделя Единица измерения времени, используемая для повторения.
    В эти дни понедельник, вторник, среда, четверг, пятница Этот параметр доступен, только если для параметра Частота задано значение Неделя.
    В эти часы 7, 8, 9 Этот параметр доступен, только если для параметра Частота задано значение Неделя или День. Для такого повторения выберите время суток. В этом примере выполняются отметки 7, 8 и 9 часов.
    В эти минуты 0, 15, 30, 45 Этот параметр доступен, только если для параметра Частота задано значение Неделя или День. Для такого повторения выберите минуты в течение суток. Этот пример выполняется каждые 15 минут, начиная с отметки нулевого часа.

    По завершении появится поле сведений о триггере, как показано в следующем примере:

    Снимок экрана: свойства, связанные с неделями, равными значениям, описанным в предыдущей таблице.

    Этот триггер срабатывает каждый день недели, каждые 15 минут с 7:00 до 9:45. В поле Просмотр отображается расписание повторения. Дополнительные сведения см. в статье Планирование регулярно выполняемых задач и рабочих процессов с помощью приложений логики и разделе Триггер повторения.

  4. Сохраните результаты своих действий. На панели инструментов конструктора выберите Сохранить.

Ресурс приложения логики и обновленный рабочий процесс теперь находятся в портал Azure. Однако рабочий процесс активируется только на основе указанного расписания и не выполняет другие действия. Итак, добавим действие, отвечающее при срабатывании триггера.

Получение данных о времени в пути для маршрута

Теперь, когда у вас есть триггер, добавьте действие "Карты Bing", которое получает время перемещения между двумя местами. Azure Logic Apps предоставляет соединитель для API Карт Bing, чтобы вы могли легко получить эту информацию. Прежде чем начать эту задачу, убедитесь, что у вас есть ключ API Карт Bing, как описано в предварительных требованиях для этого руководства.

  1. В конструкторе рабочих процессов в триггере повторения выполните следующие общие действия, чтобы добавить действие "Карты Bing" с именем Get route.

  2. Если у вас нет подключения к Картам Bing, появится запрос на его установку. Укажите следующие сведения о подключении и нажмите кнопку "Создать".

    Параметр Обязательное поле значение Описание
    Имя подключения Да <Bing-Maps-connection-name> Укажите имя подключения. В этом примере используется BingMapsConnection.
    Ключ API Да <Bing-Maps-API-key> Введите ключ API Карт Bing, полученный ранее. Если у вас нет ключа Карт Bing, узнайте, как получить его.

    В следующем примере показаны примеры сведений о подключении:

    Снимок экрана: поле подключения

  3. Переименуйте действие get route с помощью следующего заголовка: получение маршрута и время путешествия с трафиком.

  4. В действии откройте список дополнительных параметров и добавьте следующие свойства:

    • Optimize (Оптимизация)
    • Единица расстояния
    • Режим путешествия
  5. Теперь введите значения для свойств следующего действия:

    Параметр Стоимость Описание
    Пункт маршрута 1 <исходный пункт> Начало маршрута. В этом примере указан пример начального адреса.
    Пункт маршрута 2 <пункт назначения> Место назначения маршрута. В этом примере указан пример адреса назначения.
    Optimize (Оптимизация) timeWithTraffic Параметр для оптимизации маршрута, например расстояние, время в пути в соответствии с текущей загрузкой дорог и т. д. Выберите значение параметра timeWithTraffic.
    Единица расстояния <выбранная единица> Единицы измерения расстояния для маршрута. В этом примере в качестве единицы измерения используется миля.
    Режим путешествия Driving (Движение на автомобиле) Режим движения для маршрута. Выберите режим Автомобиль.

    Дополнительные сведения об этих параметрах и значениях см. в статье Расчет маршрута.

    В следующем примере показаны примеры сведений о действии:

    Снимок экрана: завершенное действие с именем Get route.

  6. На панели инструментов конструктора выберите Сохранить.

Затем создайте переменную, чтобы преобразовать и сохранить текущее время в минутах, а не в секундах. Таким образом можно избежать повторного преобразования и проще использовать значение на последующих шагах.

Создание переменной для сохранения времени в пути

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

По умолчанию действие Get route (Получить маршрут) возвращает текущее время в пути в секундах в соответствии с загрузкой дорог из свойства Travel Duration Traffic (Трафик длительности пути). Преобразовав и сохранив это значение в минутах, вы упрощаете его повторное использование, при котором не потребуется преобразование.

  1. В действии get route выполните следующие общие действия, чтобы добавить действие "Переменные" с именем Initialize переменной.

  2. Переименуйте действие инициализации переменной со следующим заголовком: создайте переменную для хранения времени путешествия.

  3. Укажите следующие сведения о действии:

    Параметр Стоимость Описание
    Имя travelTime Имя для переменной. В этом примере используется travelTime.
    Тип Целое Тип данных для переменной.
    Value <начальное значение> Выражение, преобразующее текущее время в секундах в минуты (см. шаги в этой таблице).

    Чтобы создать выражение для свойства Value , выполните следующие действия.

    1. Выберите внутри поля "Значение ", в котором показаны параметры списка динамического содержимого (значок молнии) и редактора выражений (значок формулы), а затем выберите редактор выражений.

      Снимок экрана: действие с именем Инициализация переменной с курсором внутри свойства Value.

      Редактор выражений предоставляет функции, которые можно использовать для выполнения операций в выражении. Список динамического содержимого предоставляет выходные данные из предыдущих действий, которые можно выбрать в качестве входных данных для использования с последующими действиями в рабочем процессе.

    2. В редакторе выражений введите следующее выражение: div(,60)

      Снимок экрана: редактор выражений с введенным выражением для div(60).

    3. Установите курсор внутри выражения между левой скобкой (() и запятой (,) и выберите Динамическое содержимое.

      Снимок экрана: место для вставки курсора в выражение div (60) и выбор динамического содержимого.

    4. В списке динамического содержимого выберите выходное значение, трафик длительности путешествия.

      Если выходные данные не отображаются, в списке динамического содержимого рядом с именем действия нажмите кнопку "Дополнительные сведения".

      Снимок экрана: значение, выбранное для выходных данных с именем

    5. После разрешения выходного значения внутри выражения нажмите кнопку "Добавить".

      Снимок экрана: выбранная кнопка

      В следующем примере показано, как теперь отображается свойство Value :

      Снимок экрана: свойство Value с разрешенным выражением.

  4. Сохраните результаты своих действий. На панели инструментов конструктора выберите Сохранить.

Затем добавьте условие, которое проверяет, превышает ли текущее время в пути определенное ограничение.

Сравнение времени в пути с ограничением

  1. В разделе "Создание переменной для хранения действия во время путешествия" выполните следующие общие действия, чтобы добавить действие Control с именем Condition.

  2. Переименуйте условие со следующим заголовком: если время путешествия превышает ограничение

  3. Создайте условие, которое проверяет, превышает ли выходное значение travelTime указанное ограничение, как описано и показано здесь:

    1. В условии в левой части условия выберите внутри поля "Выбор значения ", а затем выберите параметр для списка динамического содержимого (значок молнии).

    2. В разделе "Переменные" выберите выходные данные с именем travelTime.

      Снимок экрана: левое поле с именем

    3. В среднем поле сравнения выберите оператор с именем больше.

    4. В правой части условия в поле "Выбор значения" введите следующее значение: 15

      По завершении условие выглядит следующим образом:

      Снимок экрана: готовое условие для сравнения времени путешествия с указанным ограничением.

  4. Сохраните результаты своих действий. На панели инструментов конструктора выберите Сохранить.

Затем добавьте действие, выполняемое, когда время в пути превышает ограничение.

Отправка электронного сообщения при превышении ограничения

Теперь добавьте действие, которое отправляет сообщение электронной почты, когда время путешествия превышает ограничение. Это сообщение электронной почты содержит текущее время в пути и дополнительное время, необходимое для поездки по заданному маршруту.

  1. В ветви true условия выберите знак плюса (+), а затем нажмите кнопку "Добавить действие".

  2. Выполните следующие общие действия, чтобы добавить действие Outlook Office 365 с именем "Отправить сообщение электронной почты".

    • Для рабочих или учебных учетных записей Azure выберите версию Office 365 Outlook .
    • Для личных учетных записей Майкрософт выберите версию Outlook.com .

    Для продолжения в этом примере следует выбрать Office 365 Outlook.

    Снимок экрана: действие Office 365 Outlook с именем

  3. Если у вас еще нет подключения, войдите и пройдите проверку подлинности для доступа к своей учетной записи электронной почты при появлении соответствующего запроса.

    Azure Logic Apps создаст подключение к учетной записи электронной почты.

  4. Переименуйте действие со следующим заголовком: отправка сообщения электронной почты с временем путешествия

  5. В поле свойства Кому введите адрес электронной почты получателя. Для тестировании можно использовать свой адрес.

  6. В поле свойства Тема укажите тему электронного сообщения и включите переменную travelTime, выполнив приведенные ниже действия.

    1. Введите текстовое время перемещения (минуты): с конечным пробелом. Удерживайте курсор в поле "Тема " и выберите параметр для списка динамического содержимого (значок молнии).

    2. В списке динамического содержимого в разделе "Переменные " выберите переменную с именем travelTime.

      Примечание.

      Если список динамического содержимого не отображает переменную travelTime автоматически, рядом с меткой переменных нажмите кнопку "Дополнительные сведения". Переменная может не отображаться, так как свойство Subject ожидает строковое значение, а travelTime — целое число.

  7. Для свойства Текст укажите текст сообщения электронной почты, выполнив следующие действия.

    1. Введите текст " Добавить дополнительное время путешествия (минуты): с конечным пробелом. Удерживайте курсор в поле "Текст " и выберите параметр редактора выражений (значок формулы).

    2. В редакторе выражений введите sub(,15), чтобы рассчитать, на сколько минут превышено предельное значение:

      Снимок экрана: редактор выражений с введенным вложенным (15).

    3. Установите курсор внутри выражения между левой скобкой (() и запятой (,) и выберите Динамическое содержимое.

      Снимок экрана: место для вставки курсора в выражение sub(15) и выбор динамического содержимого.

    4. В разделе Переменные выберите travelTime.

      Снимок экрана: список динамического содержимого с выбранной переменной travelTime.

    5. После разрешения переменной внутри выражения нажмите кнопку "Добавить".

      Свойство Body теперь отображается, как показано ниже:

      Снимок экрана: разрешенное выражение в свойстве Body действия электронной почты.

  8. Сохраните результаты своих действий. На панели инструментов конструктора выберите Сохранить.

Затем протестируйте и запустите рабочий процесс, который теперь выглядит примерно так:

Снимок экрана: полный пример рабочего процесса приложения логики.

Запуск рабочего процесса

Чтобы запустить рабочий процесс вручную, на панели инструментов конструктора нажмите кнопку "Выполнить".>

  • Если текущее время в пути не превышает ограничений, рабочий процесс ничего не делает и ожидает следующего интервала перед повторной проверкой.

  • Если текущее время в пути превышает ограничение, вы получаете электронное письмо с текущим временем в пути и количеством минут сверх ограничения. В следующем примере показан пример электронной почты, который отправляет рабочий процесс:

    Снимок экрана: пример электронной почты, сообщающий текущее время путешествия и дополнительное время путешествия, превышающее указанное ограничение.

    Совет

    Если электронные сообщения не приходят, проверьте папку нежелательной почты. Фильтр нежелательной почты может перенаправлять такие виды электронных сообщений. В противном случае, если вы не уверены, что рабочий процесс работает правильно, см. статью Устранение неполадок рабочего процесса.

Поздравляем, вы создали и запустили повторяющийся рабочий процесс на основе расписания!

Очистка ресурсов

Рабочий процесс продолжает работать до тех пор, пока ресурс приложения логики не будет отключен или удален. Если этот образец больше не нужен, удалите группу ресурсов, содержащую приложение логики и связанные ресурсы.

  1. В поле поиска портал Azure введите группы ресурсов и выберите группы ресурсов.

  2. В списке Группы ресурсов выберите группу ресурсов для этого учебника.

  3. В меню группы ресурсов выберите "Обзор".

  4. На панели инструментов "Обзор" выберите "Удалить группу ресурсов".

  5. Когда отобразится панель подтверждения, введите имя группы ресурсов и выберите Удалить.

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

Из этого учебника вы узнали, как создать рабочий процесс приложения логики, который проверяет загрузку дорог на основе заданного расписания (по будним дням) и принимает меры (отправляет сообщение электронной почты), когда время в пути превышает указанное ограничение. Теперь вы можете узнать, как создать рабочий процесс, который отправляет запросы для списка рассылки на утверждение, интегрируя службы Azure, службы Майкрософт и другие приложения, предоставляемые по модели "Программное обеспечение как услуга" (SaaS).