Разрабатывайте задания Stream Analytics Edge с помощью инструментов Visual Studio

В этой статье вы узнаете, как использовать инструменты Stream Analytics для Visual Studio для написания, отладки и создания заданий Stream Analytics Edge. После создания и тестирования задания вы переходите на портал Azure, чтобы развернуть её на своих устройствах.

Требования для разработки работ на периферии

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

  1. Установите Visual Studio 2019, Visual Studio 2015 или Visual Studio 2013 Update 4. Инструменты аналитики потоков поддерживают версии Enterprise (Ultimate/Premium), Professional и Community, но не версии Express.

  2. Следуйте инструкциям по установке средств Stream Analytics для Visual Studio.

Создайте проект Stream Analytics Edge

Создайте проект Edge, который содержит ваше определение должности.

  1. В Visual Studio выберите Файл>Создать>Проект. Перейдите к списку шаблонов слева, затем расширите Azure Stream Analytics>Stream Analytics EdgeAzure>Stream Analytics Edge Application. Введите имя, местоположение и название решения для вашего проекта, затем выберите OK.

    Скриншот диалогового окна New Project для создания приложения Azure Stream Analytics Edge в Visual Studio.

  2. После создания проекта Visual Studio перейдите в Обозреватель решений, чтобы посмотреть иерархию папок.

    Скриншот Обозреватель решений, показывающий иерархию папок проекта Stream Analytics Edge в Visual Studio.

Выберите правильную подписку

Подключите Visual Studio к подписке Azure, где хотите создать задание.

  1. В меню Visual Studio View выберите Server Explorer.

  2. Выберите и удержите (или кликните правой кнопкой) Azure, выберите «Подключиться к подписке Microsoft Azure», а затем войдите в систему через свой аккаунт Azure.

Определение входных данных

Настройте вход Edge Hub, из которого задание читает события потока данных.

  1. В окне Обозреватель решений разверните узел Входные данные. Вы видите вход с названием EdgeInput.json. Откройте его, чтобы посмотреть настройки.

  2. Установите тип источника на поток данных. Затем установите исходный код на Edge Hub, формат сериализации событий на json, а кодирование на UTF8. По желанию переименуйте Input Alias, но оставьте его как есть в этом примере. Если вы переименовываете входящий псевдоним, используйте указанное имя при определении запроса. Нажмите кнопку Сохранить, чтобы сохранить параметры. Скриншот настроек конфигурации входов Stream Analytics Edge Hub в Visual Studio.

Определение выходных данных

Настройте выходной канал Edge Hub, в который задание записывает результаты.

  1. В окне Обозреватель решений разверните узел Outputs. Вы видите выход с названием EdgeOutput.json. Откройте его, чтобы посмотреть настройки.

  2. Установите для приемника значение Edge Hub, для формата сериализации событий — Json, для кодировки — UTF8, а для формата — Array. По желанию переименовать выходной псевдоним, но оставить его как есть в этом примере. Если вы переименовываете выходной псевдоним, используйте указанное имя при определении запроса. Нажмите кнопку Сохранить, чтобы сохранить параметры. Скриншот настроек конфигурации вывода Stream Analytics Edge Hub в Visual Studio.

Обзор неподдерживаемых операций

Задачи Stream Analytics, развернутые в средах Stream Analytics IoT Edge, поддерживают большую часть справочного языка запросов Stream Analytics. Однако следующие операции не поддерживаются для вакансий Stream Analytics Edge:

  1. РАЗБИВКА ПО
  2. ВРЕМЕННАЯ МЕТКА НА OVER
  3. JavaScript UDF
  4. Агрегатные функции, определяемые пользователем (UDA)
  5. GetMetadataPropertyValue
  6. Использование более 14 агрегатов за один шаг

Когда вы создаёте задание Stream Analytics Edge в портале, компилятор автоматически предупреждает вас, если вы не используете поддерживаемый оператор.

Определение запроса преобразования

Из Visual Studio определите следующий запрос трансформации в редакторе запросов (файлscript.asaql).

SELECT * INTO EdgeOutput
FROM EdgeInput 

Протестируйте работу локально

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

  1. Чтобы загрузить образцы данных, выберите и удержите (или кликните правой кнопкой) EdgeInput.json файл, а затем выберите «Добавить локальный вход».

  2. В всплывающем окне просмотрите образцы данных из вашего локального пути и выберите «Сохранить».

    Скриншот локальной конфигурации входа для загрузки образцов данных в Visual Studio.

  3. Visual Studio автоматически добавляет файл с названием local_EdgeInput.json в папку inputs.

  4. Вы можете запустить его локально или отправить в Azure. Чтобы проверить запрос, выберите «Запустить локально».

    Скриншот опций запуска заданий в Stream Analytics, показывающий «Запустить локально в Visual Studio».

  5. Окно командной строки показывает статус задания. Когда задание успешно выполняется, создаётся папка, которая выглядит как 2018-02-23-11-31-42 в пути Visual Studio 2015\Projects\MyASAEdgejob\MyASAEdgejob\ASALocalRun\2018-02-23-11-31-42к вашей папке проекта . Перейдите в путь папки, чтобы посмотреть результаты в локальной папке.

    Вы также можете войти в портал Azure и проверить, что задание создано.

    Скриншот папки результатов заданий Stream Analytics, показывающий локальный результат запуска в Visual Studio.

Отправить задание в Azure

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

  1. Перед тем как отправить работу в Azure, подключитесь к вашей подписке Azure. Откройте Server Explorer, выберите и удержите (или кликните правой кнопкой) Azure, выберите подписку «Подключиться к Microsoft Azure», а затем войдите в свою подписку Azure.

  2. Чтобы отправить задание в Azure, перейдите в редактор запросов и выберите «Отправить в Azure».

  3. Откроется всплывающее окно. Выберите: обновить существующее задание Stream Analytics Edge или создать новое. Когда вы обновляете существующую задачу, она заменяет всю конфигурацию задания. В этом сценарии вы публикуете новое задание. Выберите «Создать новую работу Azure Stream Analytics», введите название вашей работы, например MyASAEdgeJob, выберите необходимые «Подписка», «Группу ресурсов» и «Местоположение», а затем выберите «Отправить».

    Скриншот диалогового окна для отправки задания Stream Analytics Edge в Azure из Visual Studio.

    Теперь у вас есть работа на Stream Analytics Edge. Чтобы узнать, как развернуть его на своих устройствах, смотрите раздел «Запустить задания на IoT Edge».

Управляйте работой

Управляйте статусом задания и схемой заданий из Server Explorer.

  1. Из Stream Analytics в Server Explorer расширьте подписку и группу ресурсов, где вы развернули задание Stream Analytics Edge. Вы видите MyASAEdgejob со статусом Created. Расширьте узел работы, а затем откройте его, чтобы посмотреть работу.

    Скриншот Server Explorer, показывающий опции управления заданием для работы в Stream Analytics Edge.

  2. В окне просмотра заданий вы можете обновить задание, удалить её и открыть в портале Azure.

    Скриншот окна просмотра вакансий, где отображается диаграмма и другие опции в Visual Studio.