Учебник. Создание выполняемых по расписанию рабочих процессов автоматизации с помощью Azure Logic Apps
Область применения: Azure Logic Apps (потребление)
В этом учебнике показано, как создать пример рабочего процесса приложения логики, который выполняется по расписанию. В частности, это пример рабочего процесса проверяет время поездки между двумя пунктами с учетом трафика и выполняется каждый будний день утром. Если время превышает определенный предел, рабочий процесс отправляет электронное письмо с указанием времени в пути и дополнительного времени, необходимого, чтобы прибыть в пункт назначения. Рабочий процесс включает в себя различные шаги и начинается с запуска триггера по расписанию, за которым следует действие в Картах Bing, действие по выполнению операций с данными, действие потока управления и действие уведомления по электронной почте.
В этом руководстве описано следующее:
- Создание пустого приложения логики и рабочего процесса.
- Добавление триггера повторения, указывающего расписание для выполнения рабочего процесса.
- Добавьте действие для Карт Bing, которое получает время поездки для маршрута.
- Добавление действия, которое создает переменную, преобразует время в пути из секунд в минуты и сохраняет результат в переменной.
- Добавление условия, которое сравнивает время в пути с заданным ограничением.
- Добавьте действие, которое отправляет сообщение электронной почты, если время в пути превышает ограничение.
Когда все будет готово, ваш рабочий процесс выглядеть следующим образом:
Предварительные требования
Учетная запись и подписка Azure. Если у вас нет ее, вы можете зарегистрироваться для получения бесплатной учетной записи Azure.
Учетная запись электронной почты поставщика услуг электронной почты, поддерживаемого Azure Logic Apps, например Office 365 Outlook, Outlook.com или Gmail. Сведения о дополнительных поставщиках см. в списке соединителей. Для работы с этим кратким руководством потребуется Office 365 Outlook и рабочая или учебная учетная запись. Если используется другая учетная запись электронной почты, общие шаги остаются неизменными, однако пользовательский интерфейс может несколько отличаться.
Важно!
Только учетные записи для бизнеса G-Suite могут использовать соединитель Gmail без ограничений в рабочих процессах приложений логики. Если у вас есть учетная запись потребителя Gmail, вы можете использовать этот соединитель только с определенными утвержденными Google службами. Кроме того, вы можете создать клиентское приложение Google, которое будет использоваться для проверки подлинности в соединителе Gmail. Дополнительные сведения см. в статье Политики безопасности и конфиденциальности данных для соединителей Google в Azure Logic Apps.
Чтобы получить время в пути для маршрута, требуется ключ доступа для API Карт Bing. Чтобы получить этот ключ, выполните шаги для получения ключа Карт Bing.
Если вашему рабочему процессу необходимо взаимодействовать через брандмауэр, который ограничивает трафик определенными IP-адресами, этот брандмауэр должен разрешить доступ для как используемых входящих, так и исходящих IP-адресов службой Azure Logic Apps в регионе Azure, где существует ваш ресурс приложения логики. Если в вашем рабочем процессе также используются управляемые соединители, такие как соединитель Office 365 Outlook или соединитель SQL, или используются пользовательские соединители, брандмауэр также должен разрешить доступ для всехисходящих IP-адресов управляемого соединителя в регионе Azure вашего ресурса приложения логики.
Создание рабочего процесса приложения логики категории "Потребление"
Войдите на портал Azure с помощью своей учетной записи Azure.
На домашней странице Azure выберите Создать ресурс.
В меню Azure Marketplace выберите Интеграция>Приложение логики.
В области Создание приложения логики на вкладке Основные сведения укажите следующие сведения о ресурсе приложения логики.
Свойство Обязательно Значение Описание Подписка Да <Azure-subscription-name> Имя подписки Azure. В этом примере используется оплата по мере использования. Группа ресурсов Да LA-TravelTime-RG Группа ресурсов Azure, в которой будут созданы ресурс приложения логики и связанные ресурсы. Это имя должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы ( -
), символы подчеркивания (_
), круглые скобки ((
,)
) и точки (.
).имя; Да LA-TravelTime Имя ресурса приложения логики, которое должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы ( -
), символы подчеркивания (_
), круглые скобки ((
,)
) и точки (.
).Прежде чем продолжить выбор, перейдите к разделу План. Для свойства Тип плана выберите значение Потребление, чтобы отобразить только параметры рабочего процесса приложения логики "Потребление", который выполняется в мультитенантной службе Azure Logic Apps.
Свойство Тип плана также определяет используемую модель выставления счетов.
Тип плана Описание Стандартный Приложение логики такого типа выбрано по умолчанию, выполняется в однотенантной среде Azure Logic Apps и использует стандартную модель выставления счетов. Потребление Приложение логики такого типа выполняется в глобальной мультитенантной среде Azure Logic Apps и использует модель выставления счетов на основе потребления. Далее выберите значения следующих свойств.
Свойство Обязательно Значение Описание Регион Да западная часть США Регион центра обработки данных Azure, в котором будет храниться информация приложения. В этом примере приложение логики развертывается в регионе Западная часть США в Azure.
Примечание. Если ваша подписка связана со средой службы интеграции, в этот список входят такие среды.Включение анализа журналов Да Нет Этот параметр отображается и применяется только при выборе типа приложения логики Потребление. Измените этот параметр, только если требуется включить ведение журнала диагностики. Для целей этого учебника оставьте выбор по умолчанию. Когда все будет готово, выберите Просмотр и создание. После того, как Azure проверит сведения о ресурсе приложения логики, выберите Создать.
После развертывания приложения в Azure выберите Перейти к ресурсу.
В Azure откроется область выбора шаблона рабочего процесса, в которой отображается ознакомительное видео, часто используемые триггеры и схемы шаблонов рабочих процессов.
Прокрутите вниз раздел с видео и часто используемыми триггерами до раздела Шаблоны и выберите Пустое приложение логики.
Затем добавьте триггер повторения, который будет запускать рабочий процесс по заданному расписанию. Каждый рабочий процесс должен запускаться по триггеру, который активируется, когда происходит определенное событие или если новые данные соответствуют заданным условиям. Дополнительные сведения см. в статье Создание примера рабочего процесса приложения логики потребления в мультитенантном Azure Logic Apps.
Добавление триггера повторения
В конструкторе рабочих процессов под полем поиска выберите Встроенный.
В поле поиска конструктора введите повторение и выберите триггер с именем Повторение.
На фигуре Повторение нажмите кнопку с многоточием ( ... ), а затем нажмите кнопку Переименовать. Переименуйте триггер, используя это описание:
Check travel time every weekday morning
.В триггере измените эти свойства так, как указано и показано в этой статье.
Свойство Обязательно Значение Описание Интервал Да 1 Количество интервалов ожидания между проверками. Частота Да Неделя Единица измерения времени, используемая для повторения. В разделах Интервал и Частота откройте список Добавить новый параметр и выберите эти свойства для добавления в триггер.
- В эти дни
- В эти часы
- В эти минуты
Теперь задайте значения для дополнительных свойств, как показано здесь.
Свойство Значение Описание В эти дни понедельник, вторник, среда, четверг, пятница Этот параметр доступен, только если для параметра Частота задано значение Неделя. В эти часы 7, 8, 9 Этот параметр доступен, только если для параметра Частота задано значение Неделя или День. Для такого повторения выберите время суток. Этот пример выполняется по часовым меткам 7
,8
и9
.В эти минуты 0, 15, 30, 45 Этот параметр доступен, только если для параметра Частота задано значение Неделя или День. Для такого повторения выберите минуты в течение суток. Этот пример выполняется каждые 15 минут, начиная с отметки нулевого часа. Этот триггер срабатывает каждый день недели, каждые 15 минут с 7:00 до 9:45. В поле Просмотр отображается расписание повторения. Дополнительные сведения см. в статье Планирование регулярно выполняемых задач и рабочих процессов с помощью приложений логики и разделе Триггер повторения.
Чтобы скрыть сведения о триггере, сверните фигуру, щелкнув внутри заголовка фигуры.
Сохраните результаты своих действий. На панели инструментов конструктора щелкните Сохранить.
Рабочий процесс приложения логики теперь находится в портале Azure, но никакие действия, кроме триггеров, срабатывающих по указанному расписанию, не выполняются. Итак, добавим действие, отвечающее при срабатывании триггера.
Получение данных о времени в пути для маршрута
Теперь, когда у вас есть триггер, добавьте действие, которое получает данные о времени в пути между двумя местами. Azure Logic Apps предоставляет соединитель для API Карт Bing, чтобы вы могли легко получить эту информацию. Прежде чем начать эту задачу, убедитесь, что у вас есть ключ API Карт Bing, как описано в предварительных требованиях для этого руководства.
В конструкторе рабочих процессов в триггере "Повторение" выберите Новый шаг.
В разделе Choose an operation (Выберите операцию) выберите Стандартная. В поле поиска введите карты bing и выберите действие с именем Получить маршрут.
Если у вас нет подключения к Картам Bing, появится запрос на его установку. Укажите сведения о подключении, как показано и описано в этой статье, а затем выберите Создать.
Свойство Обязательно Значение Описание Имя соединения Да BingMapsConnection Укажите имя подключения. В этом примере используется BingMapsConnection
.Ключ API. Да <Bing-Maps-API-key> Введите ключ API Карт Bing, полученный ранее. Если у вас нет ключа Карт Bing, узнайте, как получить его. Переименуйте действие с использованием этого описания:
Get route and travel time with traffic
.В действии откройте Добавить новый список параметров и выберите эти свойства.
- Optimize (Оптимизация)
- Distance unit (Единица расстояния)
- Travel mode (Режим движения)
Теперь введите значения для дополнительных свойств, как показано здесь.
Свойство Обязательно Значение Описание Пункт маршрута 1 Да <исходный пункт> Начало маршрута. В этом примере указан пример начального адреса. Пункт маршрута 2 Да <пункт назначения> Место назначения маршрута. В этом примере указан пример адреса назначения. Optimize (Оптимизация) Нет timeWithTraffic Параметр для оптимизации маршрута, например расстояние, время в пути в соответствии с текущей загрузкой дорог и т. д. Выберите значение параметра timeWithTraffic. Distance unit (Единица расстояния) Нет <выбранная единица> Единицы измерения расстояния для маршрута. В этом примере в качестве единицы измерения используется миля. Travel mode (Режим движения) Нет Driving (Движение на автомобиле) Режим движения для маршрута. Выберите режим Автомобиль. Дополнительные сведения об этих параметрах и значениях см. в статье Расчет маршрута.
На панели инструментов конструктора щелкните Сохранить.
Затем создайте переменную, чтобы преобразовать и сохранить текущее время в минутах, а не в секундах. Таким образом можно избежать повторного преобразования и проще использовать значение на последующих шагах.
Создание переменной для сохранения времени в пути
В некоторых случаях можно выполнять операции с данными в своем рабочем процессе, а затем использовать результаты в последующих действиях. Чтобы повторно использовать результаты и ссылаться на них, их нужно сохранить. Для этого следует создать переменные, в которых они будут сохраняться после их обработки. Переменные можно создать только на верхнем уровне в рабочем процессе.
По умолчанию действие Get route (Получить маршрут) возвращает текущее время в пути в секундах в соответствии с загрузкой дорог из свойства Travel Duration Traffic (Трафик длительности пути). Преобразовав и сохранив это значение в минутах, вы упрощаете его повторное использование, при котором не потребуется преобразование.
В конструкторе в действии Get route (Получить маршрут) выберите Новый шаг.
В разделе Choose an operation (Выберите операцию) выберите Встроено. В поле поиска введите переменные и выберите действие с именем Инициализировать переменную.
Переименуйте действие с использованием этого описания:
Create variable to store travel time
.Укажите эти сведения для переменной, как показано в этой таблице и в инструкциях под ней.
Свойство Обязательно Значение Описание имя; Да travelTime Имя для переменной. В этом примере используется travelTime
.Тип Да Целое число Тип данных для переменной. Значение Нет Выражение, преобразующее текущее время в секундах в минуты (см. шаги в этой таблице). Начальное значение для переменной Чтобы создать выражение для свойства Значение, щелкните внутри поля для отображения списка динамического содержимого. При необходимости расширяйте окно браузера, пока не появится динамический список. В списке динамическое содержимое выберите Выражение, чтобы открыть редактор выражений.
В списке динамическое содержимое отображаются выходные данные предыдущих действий, которые можно выбрать в качестве входных данных для последующих действий в рабочем процессе. Список динамического содержимого включает в себя редактор выражений, который можно использовать для выбора функций, выполняющих операции в выражении. Этот редактор выражений доступен только в списке динамического содержимого.
В редакторе выражений введите следующее выражение:
div(,60)
Установите курсор внутри выражения между левой скобкой ( ( ) и запятой ( , ) и выберите Динамическое содержимое.
В списке динамического содержимого выберите значение свойства Travel Duration Traffic (Трафик длительности пути).
Как только значение свойства в выражении разрешится, нажмите кнопку ОК.
Свойство Value теперь отображается, как показано ниже:
Сохраните результаты своих действий. На панели инструментов конструктора щелкните Сохранить.
Затем добавьте условие, которое проверяет, превышает ли текущее время в пути определенное ограничение.
Сравнение времени в пути с ограничением
Под действием Create variable to store travel time (Создать переменную для сохранения времени в пути) выберите Новый шаг.
В разделе Choose an operation (Выберите операцию) выберите Встроено. В поле поиска введите условие. В списке действия выберите действие с именем Условие.
Переименуйте условие, используя описание:
If travel time exceeds limit
.Создайте условие, которое проверяет, превышает ли значение свойства travelTime заданное ограничение, как показано ниже:
Внутри условия, в его левой части, щелкните мышью в поле Выберите значение.
В появившемся списке динамического содержимого выберите в разделе Переменные свойство с именем travelTime.
В среднем поле сравнения выберите оператор с именем больше.
В левой части условия в поле Выберите значение введите это предельное значение:
15
После ввода значения условие должно выглядеть приблизительно так, как показано в примере ниже:
Сохраните результаты своих действий. На панели инструментов конструктора щелкните Сохранить.
Затем добавьте действие, выполняемое, когда время в пути превышает ограничение.
Отправка электронного сообщения при превышении ограничения
Теперь добавьте действие, которое отправляет сообщение электронной почты, когда время в пути превышает предельное значение. Это сообщение электронной почты содержит текущее время в пути и дополнительное время, необходимое для поездки по заданному маршруту.
Внутри ветви Истинна условия выберите Добавить действие.
В разделе Choose an operation (Выберите операцию) выберите Стандартная. В поле поиска введите отправка сообщения. Список возвращает множество результатов, поэтому для фильтрации списка сначала выберите нужный соединитель электронной почты.
Например, если у вас есть учетная запись электронной почты Outlook, выберите соединитель для этого типа учетной записи:
- Для рабочих или учебных учетных записей Azure выберите Office 365 Outlook.
- Для личных учетных записей Майкрософт выберите Outlook.com.
Для продолжения в этом примере следует выбрать Office 365 Outlook.
Когда отобразятся действия соединителя, выберите действие отправки сообщения, например:
Если у вас еще нет подключения, войдите и пройдите проверку подлинности для доступа к своей учетной записи электронной почты при появлении соответствующего запроса.
Azure Logic Apps создаст подключение к учетной записи электронной почты.
Переименуйте действие с использованием этого описания:
Send email with travel time
.В поле свойства Кому введите адрес электронной почты получателя. Для тестировании можно использовать свой адрес.
В поле свойства Тема укажите тему электронного сообщения и включите переменную travelTime, выполнив приведенные ниже действия.
Введите текст
Current travel time (minutes):
с пробелом. Оставьте курсор в поле Тема, чтобы список динамического содержимого оставался открытым.В списке динамическое содержимое в заголовке Переменные выберите Дополнительно, чтобы появилась переменная с именем travelTime.
Примечание
В списке динамического содержимого переменная travelTime не отображается автоматически, так как свойство Тема принимает строковое значение, а travelTime — целочисленное значение.
Для свойства Текст укажите текст сообщения электронной почты, выполнив следующие действия.
Введите текст
Add extra travel time (minutes):
с пробелом. Оставьте курсор в поле Текст, чтобы список динамического содержимого оставался открытым.В списке динамическое содержимое выберите Выражение, чтобы открыть редактор выражений.
В редакторе выражений введите sub(,15), чтобы рассчитать, на сколько минут превышено предельное значение:
Установите курсор внутри выражения между левой скобкой ( ( ) и запятой ( , ) и выберите Динамическое содержимое.
В разделе Переменные выберите travelTime.
Как только свойство в выражении разрешится, нажмите кнопку ОК.
Свойство Body теперь отображается, как показано ниже:
Сохраните результаты своих действий. На панели инструментов конструктора щелкните Сохранить.
Затем протестируйте и запустите рабочий процесс, который теперь выглядит, как показано в примере:
Запуск рабочего процесса
Чтобы вручную запустить рабочий процесс, на панели инструментов конструктора щелкните Запустить триггер>Запустить.
Если текущее время в пути не превышает ограничений, рабочий процесс ничего не делает и ожидает следующего интервала перед повторной проверкой.
Если текущее время в пути превышает ограничение, вы получаете электронное письмо с текущим временем в пути и количеством минут сверх ограничения. Ниже приведен пример сообщения, которое отправляет рабочий процесс.
Совет
Если электронные сообщения не приходят, проверьте папку нежелательной почты. Фильтр нежелательной почты может перенаправлять такие виды электронных сообщений. В противном случае, если вы не уверены, что рабочий процесс работает правильно, см. статью Устранение неполадок рабочего процесса.
Итак, повторяющийся рабочий процесс на основе расписания создан и выполняется.
Чтобы создать другие рабочие процессы, использующие триггер Повторение, ознакомьтесь со следующими шаблонами, которые станут доступны после создания нового ресурса приложения логики:
- Получайте ежедневные напоминания, отправленные вам.
- Удалите старые большие двоичные объекты Azure.
- Добавьте сообщение в очередь службы хранилища Azure.
Очистка ресурсов
Рабочий процесс продолжает работать до тех пор, пока ресурс приложения логики не будет отключен или удален. Если этот пример рабочего процесса больше не нужен, удалите группу ресурсов, содержащую ресурс приложения логики и связанные ресурсы.
В поле поиска портала Azure введите имя созданной группы ресурсов. В результатах в разделе Группы ресурсов выберите группу ресурсов.
В этом примере показано создание группы ресурсов с именем
LA-TravelTime-RG
.Совет
Если на домашней странице Azure группа ресурсов отображается в разделе Последние ресурсы, ее можно выбрать там.
В меню группы ресурсов выберите пункт Обзор. На панели инструментов области Обзор выберите Удалить группу ресурсов.
В отобразившейся области подтверждения введите имя группы ресурсов и выберите Удалить.
Дальнейшие действия
Из этого учебника вы узнали, как создать рабочий процесс приложения логики, который проверяет загрузку дорог на основе заданного расписания (по будним дням) и принимает меры (отправляет сообщение электронной почты), когда время в пути превышает указанное ограничение. Теперь вы можете узнать, как создать рабочий процесс, который отправляет запросы для списка рассылки на утверждение, интегрируя службы Azure, службы Майкрософт и другие приложения, предоставляемые по модели "Программное обеспечение как услуга" (SaaS).