Бөлісу құралы:


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

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

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

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

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

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

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

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

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

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

  2. На домашней странице Azure выберите Создать ресурс.

  3. В меню Azure Marketplace выберите Интеграция>Приложение логики.

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

  4. В области Создание приложения логики на вкладке Основные сведения укажите следующие сведения о ресурсе приложения логики.

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

    Свойство Обязательное поле значение Описание
    Подписка Да <имя-подписки-Azure> Имя подписки Azure. В этом примере используется оплата по мере использования.
    Группа ресурсов Да LA-TravelTime-RG Группа ресурсов Azure, в которой будут созданы ресурс приложения логики и связанные ресурсы. Это имя должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы (-), символы подчеркивания (_), круглые скобки ((, )) и точки (.).
    Имя Да LA-TravelTime Имя ресурса приложения логики, которое должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы (-), символы подчеркивания (_), круглые скобки ((, )) и точки (.).
  5. Прежде чем продолжить выбор, перейдите к разделу План. Для типа плана выберите "Потребление ", чтобы отобразить только параметры рабочего процесса приложения логики потребления, который выполняется в мультитенантных Azure Logic Apps.

    Свойство Тип плана также определяет используемую модель выставления счетов.

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

    Свойство Обязательное поле значение Описание
    Регион Да Западная часть США Регион центра обработки данных Azure, в котором будет храниться информация приложения. В этом примере приложение логики развертывается в регионе Западная часть США в Azure.
    Включение анализа журналов Да Нет Этот параметр отображается и применяется только при выборе типа приложения логики Потребление. Измените этот параметр, только если требуется включить ведение журнала диагностики. Для целей этого учебника оставьте выбор по умолчанию.
  7. Когда все будет готово, выберите Просмотр и создание. После того, как Azure проверит сведения о ресурсе приложения логики, выберите Создать.

  8. После развертывания приложения в Azure выберите Перейти к ресурсу.

    Портал Azure открывает приложение логики потребления и конструктор рабочих процессов.

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

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

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

  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) и выбор динамического содержимого.

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

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

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

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

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

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

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

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

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

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

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

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

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

    Совет

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

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

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

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

  1. В поле поиска портала Azure введите имя созданной группы ресурсов. В результатах в разделе Группы ресурсов выберите группу ресурсов.

    В этом примере создана группа ресурсов с именем LA-TravelTime-RG.

    Снимок экрана: поле поиска Azure, содержащее текст

    Совет

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

  2. В меню группы ресурсов выберите пункт Обзор. На панели инструментов области Обзор выберите Удалить группу ресурсов.

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

  3. В отобразившейся области подтверждения введите имя группы ресурсов и выберите Удалить.

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

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