Руководство. Подключение приложения логики к предварительно настроенному решению для удаленного мониторинга Azure IoT Suite

Предварительно настроенное решение для удаленного мониторинга Microsoft Azure IoT Suite позволяет быстро начать работу с полным набором возможностей, которыми обладает решение Интернета вещей. В этом учебнике описаны действия по добавлению приложения логики к предварительно настроенному решению для удаленного мониторинга Microsoft Azure IoT Suite. Эти шаги показывают, как продвинуть свое решение IoT еще дальше, подключив его к бизнес-процессу.

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

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

  • Подготовьте в своей подписке Azure предварительно настроенное решение для удаленного мониторинга.
  • Создайте учетную запись SendGrid для отправки сообщений электронной почты, которые будут запускать бизнес-процесс. Бесплатную пробную учетную запись можно создать на сайте SendGrid , нажав кнопку Try for Free(Попробовать бесплатно). После регистрации бесплатной пробной учетной записи необходимо создать в SendGrid ключ API , который предоставляет разрешения на отправку электронной почты. Ключ API используется далее в этом учебнике.

Для работы с этим руководством вам понадобится Visual Studio 2015 или Visual Studio 2017, чтобы изменять действия на серверной стороне предварительно настроенных решений.

Если вы уже подготовили предварительно настроенное решение для удаленного мониторинга, то перейдите к группе ресурсов для этого решения на портале Azure. Имя группы ресурсов совпадает с именем решения, которое было выбрано при подготовке решения для удаленного мониторинга. В группе ресурсов вы увидите все подготовленные для вашего решения ресурсы Azure. На следующем рисунке показан пример колонки Группа ресурсов для предварительного настроенного решения для удаленного мониторинга:

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

Настройка приложения логики

  1. Щелкните Добавить в верхней части колонки группы ресурсов на портале Azure.

  2. Найдите Приложение логики, выберите его и нажмите кнопку Создать.

  3. Заполните поле Имя. Затем укажите те же подписку и группу ресурсов в полях Подписка и Группа ресурсов, которые использовались при подготовке решения для удаленного мониторинга. Нажмите кнопку Создать.

  4. После завершения развертывания приложение логики отобразится в качестве ресурса в вашей группе ресурсов.

  5. Щелкните приложение логики, чтобы перейти к колонке "Приложение логики". Выберите шаблон Blank Logic App (Пустое приложение логики). При этом откроется Конструктор Logic Apps.

  6. Выберите "Запрос". Это действие указывает, что в качестве триггера выступает входящий HTTP-запрос с полезными данными в определенном формате JSON.

  7. Вставьте следующий код в поле "Схема JSON текста запроса":

    {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "id": "/",
      "properties": {
        "DeviceId": {
          "id": "DeviceId",
          "type": "string"
        },
        "measuredValue": {
          "id": "measuredValue",
          "type": "integer"
        },
        "measurementName": {
          "id": "measurementName",
          "type": "string"
        }
      },
      "required": [
        "DeviceId",
        "measurementName",
        "measuredValue"
      ],
      "type": "object"
    }
    

    Примечание

    Примечание. Сохранив приложение логики, можно скопировать URL-адрес метода HTTP POST, но сначала необходимо добавить действие.

  8. Щелкните + Новый шаг под своим триггером. Затем выберите Добавить действие.

  9. Найдите действие SendGrid - Send email (SendGrid — отправить письмо) и щелкните его.

  10. Введите имя подключения, например SendGridConnection, в соответствующем поле укажите ключ API SendGrid, созданный при настройке учетной записи SendGrid, и нажмите кнопку Создать.

  11. Добавьте свои адреса электронной почты в поля From (От) и To (Кому). В поле Тема добавьте Remote monitoring alert [DeviceId] (Оповещение удаленного мониторинга [DeviceId]). В поле "Текст сообщения электронной почты " добавьте device [DeviceId], сообщающее [measurementName] со значением [measuredValue]. Вы можете добавить [DeviceId], [measurementName] и [measuredValue] , щелкнув в разделе "Вы можете вставить данные из предыдущих шагов ".

  12. Щелкните Сохранить в верхнем меню.

  13. Щелкните триггер Запрос и скопируйте значение HTTP POST на этот URL-адрес. Этот URL-адрес потребуется далее в этом учебнике.

Примечание

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

Настройка веб-задания EventProcessor

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

  1. С помощью клиента git клонируйте последнюю версию репозитория github azure-iot-remote-monitoring. Пример.

    git clone https://github.com/Azure/azure-iot-remote-monitoring.git
    
  2. В Visual Studio откройте файл RemoteMonitoring.sln из локальной копии репозитория.

  3. Откройте файл ActionRepository.cs в папке Infrastructure\Repository .

  4. Измените словарь actionIds, указав в нем значение HTTP POST на этот URL-адрес, записанное из приложения логики.

    private Dictionary<string,string> actionIds = new Dictionary<string, string>()
    {
        { "Send Message", "<Http Post to this URL>" },
        { "Raise Alarm", "<Http Post to this URL>" }
    };
    
  5. Сохраните изменения в решении и закройте Visual Studio.

Развертывание из командной строки

В этом разделе вы развернете обновленную версию решения для удаленного мониторинга, заменив ту версию, которая в настоящее время работает в Azure.

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

  2. Для локального развертывания следуйте инструкциям по локальному развертыванию.

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

    build.cmd cloud release demologicapp
    

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

Проверка приложения логики в действии

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

  • Температура > 38,00
  • > Влажность 48,00

Правило для температуры активирует действие Raise Alarm, а правило для влажности — действие SendMessage. При условии, что для обоих действий в классе ActionRepository используется один и тот же URL-адрес, приложение логики срабатывает для каждого правила. Оба правила используют SendGrid для отправки электронной почты с подробными сведениями о предупреждении на адрес, указанный в поле Кому .

Примечание

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

Наряду с получением электронных писем вы также можете наблюдать за работой приложения логики на портале:

Дополнительная информация

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