Изучение Azure Stream Analytics
В этом упражнении вы подготовите к работе задание Azure Stream Analytics в подписке Azure и используете его для обработки потока данных в реальном времени.
Выполнение этого задания займет около 15 минут.
Перед началом работы
Вам потребуется подписка Azure с доступом уровня администратора.
Создание ресурсов Azure
-
Войдите в свою подписку на портале Azure, используя ее учетные данные.
-
Используйте кнопку [>_] справа от панели поиска в верхней части страницы, чтобы создать новый Cloud Shell на портале Azure, создав хранилище при появлении запроса и выбрав среду Bash. Cloud Shell предоставляет интерфейс командной строки в области в нижней части портала Azure, как показано ниже:
-
В Azure Cloud Shell введите указанную ниже команду, чтобы скачать необходимые для этого упражнения файлы.
git clone https://github.com/MicrosoftLearning/DP-900T00A-Azure-Data-Fundamentals dp-900
-
Дождитесь завершения команды, а затем введите следующую команду, чтобы изменить текущий каталог на папку, содержащую файлы для этого упражнения.
cd dp-900/streaming
-
Введите приведенную ниже команду, чтобы запустить сценарий, создающий ресурсы Azure, которые нужны для этого упражнения.
bash setup.sh
Игнорировать любые предупреждения о будущих изменениях и экспериментальных функциях.
Подождите, пока сценарий запустится и выполнит следующие действия:
- Установит расширения Azure CLI, необходимые для создания ресурсов (вы можете игнорировать любые предупреждения об экспериментальных расширениях).
- Определит группу ресурсов Azure для этого упражнения.
- Создаст ресурс Центра Интернета вещей Azure, который будет использоваться для получения потока данных с имитированного устройства.
- Создаст учетную запись хранения Azure, в которой будут храниться обработанные данные.
- Создаст задание Azure Stream Analytics, которое будет обрабатывать входящие данные устройства в режиме реального времени и записывать результаты в учетную запись хранения.
Обзор ресурсов Azure
- На домашней странице портала Azure выберите Группы ресурсов, чтобы просмотреть группы ресурсов в своей подписке. Они должны включать группу learnxxxxxxxxxxxxxxxxx…, определяемую сценарием установки.
- Выберите группу ресурсов learnxxxxxxxxxxxxxxxxx… и просмотрите содержащиеся в ней ресурсы, которые должны включать:
- Центр Интернета вещей с именем iothubxxxxxxxxxxxxx, который используется для получения входящих данных с устройств.
- Учетная запись хранения с именем storexxxxxxxxxxxx, в которую будут записываться результаты обработки данных.
- Задание Stream Analytics с именем streamxxxxxxxxxxxx, которое будет использоваться для обработки данных потоковой передачи.
Если все три ресурса отсутствуют в списке, нажмите кнопку ↻ Обновить, чтобы они появились.
- Выберите задание Stream Analytics streamxxxxxxxxxxxx и просмотрите информацию на странице Обзор, обратив внимание на следующие сведения:
- Задание имеет один ввод с именем iotinput и один вывод с именем bloboutput. Они ссылаются на Центр Интернета вещей и учетную запись хранения, созданные сценарием установки.
- В задании содержится запрос, который считывает данные из ввода iotinput и объединяет их, подсчитывая количество сообщений, обрабатываемых каждые 10 секунд. Кроме того, он выполняет запись результатов в вывод blobooutput.
Использование ресурсов для анализа потоковых данных
- В верхней части страницы Обзор задания Stream Analytics нажмите кнопку ▷ Запустить, а затем на панели Запуск задания выберите Запустить, чтобы запустить задание.
- Дождитесь уведомления об успешном запуске задания потоковой передачи.
-
Вернитесь в Azure Cloud Shell и введите указанную ниже команду, чтобы имитировать устройство, которое отправляет данные в Центр Интернета вещей.
bash iotdevice.sh
-
Подождите, пока начнется имитация, о чем будет свидетельствовать следующий вывод:
Device simulation in progress: 6%|# | 7/120 [00:08<02:21, 1.26s/it]
- Во время имитации вернитесь на страницу группы ресурсов learnxxxxxxxxxxxxxxxxx… на портале Azure и выберите учетную запись хранения storexxxxxxxxxxxx.
- На панели слева от колонки учетной записи хранения выберите вкладку Контейнеры.
- Откройте контейнер data.
- В контейнере data перейдите по иерархии папок, которая включает папку для текущего года с вложенными папками для месяца, дня и часа.
- В папке часа обратите внимание на созданный файл с именем, аналогичным 0_xxxxxxxxxxxxxxxx.json.
-
В меню … для файла (справа от сведений о файле), выберите Просмотреть или изменить, и просмотрите содержимое файла, который должен содержать запись JSON для каждого 10-секундного периода, отображающую количество сообщений, полученных от устройств IoT, например:
{"starttime":"2021-10-23T01:02:13.2221657Z","endtime":"2021-10-23T01:02:23.2221657Z","device":"iotdevice","messages":2} {"starttime":"2021-10-23T01:02:14.5366678Z","endtime":"2021-10-23T01:02:24.5366678Z","device":"iotdevice","messages":3} {"starttime":"2021-10-23T01:02:15.7413754Z","endtime":"2021-10-23T01:02:25.7413754Z","device":"iotdevice","messages":4} ...
- Нажмите кнопку ↻ Обновить, чтобы обновить файл, учитывая, что дополнительные результаты записываются в файл, поскольку задание Stream Analytics обрабатывает данные устройства в режиме реального времени по мере их потоковой передачи с устройства в Центр Интернета вещей.
- Вернитесь в Azure Cloud Shell и дождитесь завершения имитации устройства (она должно длиться около 3 минут).
- Вернувшись на портал Azure, еще раз обновите файл, чтобы просмотреть полный набор результатов, полученных во время имитации.
- Вернитесь в группу ресурсов learnxxxxxxxxxxxxxxxxx… и вновь откройте задание Stream Analytics streamxxxxxxxxxxxxx.
- В верхней части страницы задания Stream Analytics нажмите кнопку ⬜ Остановить, чтобы остановить задание, подтвердив действие при появлении запроса.
Совет. Когда вы завершите знакомство с решением потоковой передачи, созданную в этом упражнении группу ресурсов можно удалить.