Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте маршрутизацию сообщений в Центре Интернета вещей Azure для отправки данных телеметрии с устройств Интернета вещей в службы Azure, такие как хранилище блобов, очереди Служебной шины, топики Служебной шины и Центры событий. Каждый Центр Интернета вещей имеет встроенную конечную точку по умолчанию, совместимую с Центрами событий. Вы также можете создавать пользовательские конечные точки и маршрутизировать сообщения в другие службы Azure, определяя запросы маршрутизации. Каждое сообщение, поступающее в Центр Интернета вещей, направляется ко всем конечным точкам, которым соответствуют запросы маршрутизации. Если сообщение не соответствует ни одному из определенных запросов маршрутизации, оно направляется в конечную точку по умолчанию.
В этом руководстве вы выполните следующие задачи:
- Создайте Центр Интернета вещей и отправьте в него сообщения об устройстве.
- Создание учетной записи хранения.
- Создайте пользовательскую конечную точку для учетной записи хранения и перенаправьте в него сообщения из Центра Интернета вещей.
- Просмотр сообщений устройства в объекте BLOB учетной записи хранения.
Предварительные условия
Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
Центр Интернета вещей в подписке Azure. Если у вас еще нет Центра Интернета вещей, выполните действия, описанные в статье "Создание Центра Интернета вещей".
В этом руководстве используется пример кода из пакета SDK Для Интернета вещей Microsoft Azure для .NET.
- Скачайте или клонируйте репозиторий ПАКЕТА SDK на компьютер разработки.
- На компьютере, на котором ведется разработка, необходимо установить .NET Core версии 3.0.0 или более поздней. Проверьте версию, запустив
dotnet --version
и скачайте .NET при необходимости.
Убедитесь, что в брандмауэре открыт порт 8883. Пример в этом руководстве использует протокол MQTT, который передает данные через порт 8883. Этот порт может быть заблокирован в некоторых корпоративных и образовательных сетевых средах. Дополнительные сведения и способы решения этой проблемы см. в статье "Подключение к Центру Интернета вещей".
При необходимости установите Обозреватель Интернета вещей Azure (предварительная версия). Это средство помогает отслеживать сообщения по мере их поступления в Центр Интернета вещей. В этой статье используется Обозреватель Интернета вещей Azure.
Для портала Azure нет других предварительных требований.
Зарегистрируйте устройство и отправьте сообщения в Центр Интернета вещей
Зарегистрируйте новое устройство в вашем Центре Интернета вещей.
Внимание
В этой статье описываются шаги для подключения устройства с помощью общего ключа доступа, также известного как проверка подлинности симметричным ключом. Этот метод проверки подлинности удобнее для тестирования и оценки, но проверка подлинности устройства с помощью сертификатов X.509 является более безопасным подходом. Дополнительные сведения см. в разделе Лучшие методы обеспечения безопасности IoT-решений > Безопасность подключения.
Войдите на портал Azure и перейдите к своему Центру Интернета вещей.
Выберите Устройства в разделе Управление устройствами в меню.
Выберите Добавить устройство.
Укажите идентификатор устройства и нажмите Сохранить.
Новое устройство теперь должно появиться в списке устройств. Если оно не появилось, обновите страницу. Выберите идентификатор устройства, чтобы открыть страницу сведений об устройстве.
Скопируйте один из ключей устройства и сохраните его. Это значение используется для настройки примера кода, который создает имитированные сообщения телеметрии устройства.
Теперь, когда у вас есть идентификатор устройства и ключ, используйте пример кода, чтобы начать отправку сообщений телеметрии устройства в Центр Интернета вещей.
Совет
Если вы выполняете действия Azure CLI для этого руководства, запустите пример кода в отдельном сеансе. Таким образом, вы можете разрешить примеру кода продолжать работу, пока вы выполняете остальные действия интерфейса командной строки.
Если вы не сделали это в рамках предварительных требований, скачайте или клонируйте репозиторий Microsoft Azure IoT SDK для .NET с GitHub.
В папке, в которой вы скачали или клонировали пакет SDK, перейдите в папку
azure-iot-sdk-csharp\iothub\device\samples\how to guides\HubRoutingSample
.Установите пакет SDK Для Интернета вещей Microsoft Azure для .NET и необходимые зависимости, как указано в
HubRoutingSample.csproj
файле:dotnet restore
Откройте файл
Parameters.cs
в выбранном редакторе. В этом файле показаны параметры, поддерживаемые примером.PrimaryConnectionString
При запуске примера используется только параметр в этой статье. Просмотрите код в этом файле. Изменения не требуются.Выполните сборку и запуск примера кода с помощью следующей команды:
Замените
<myDevicePrimaryConnectionString>
вашей основной строкой подключения с вашего устройства в Центр Интернета вещей.dotnet run --PrimaryConnectionString <myDevicePrimaryConnectionString>
Вы должны начать отображать сообщения, напечатанные на выходные данные при отправке в Центр Интернета вещей. Оставьте эту программу запущенной во время учебника.
Настройка Обозревателя Интернета вещей для просмотра сообщений
Настройте Обозреватель Интернета вещей для подключения к центру Интернета вещей и чтения сообщений по мере их поступления в встроенную конечную точку.
Для начала получите строку подключения для вашего Центра Интернета вещей.
Найдите нужный Центр Интернета вещей на портале Azure.
Выберите Политики общего доступа в разделе Параметров безопасности в меню.
Выберите политику iothubowner.
Скопируйте основную строку подключения.
Теперь используйте строку подключения, чтобы настроить Обозреватель Интернета вещей для Центра Интернета вещей.
Откройте IoT-обозреватель на вашем компьютере для разработки.
Если отображается, выберите "Подключиться через строку подключения Центра Интернета вещей".
Выберите Добавить подключение.
Вставьте строку подключения хаба в текстовое поле.
Выберите Сохранить.
После подключения к Центру Интернета вещей вы увидите список устройств. Выберите идентификатор устройства, созданный для этого руководства.
Выберите Телеметрия.
С устройством в рабочем состоянии выберите Пуск. Если устройство не запущено, данные телеметрии не отображаются.
Вы увидите сообщения, поступающие с устройства, с последними отображаемыми в верхней части экрана.
Просмотрите входящие сообщения в течение нескольких секунд, чтобы убедиться, что отображаются три различных типа сообщений: обычный, хранилище и критический. После просмотра всех трех типов сообщений можно остановить устройство.
Все эти сообщения поступают во встроенную конечную точку по умолчанию для Центра Интернета вещей. В следующих разделах мы создадим пользовательскую конечную точку и перенаправим некоторые из этих сообщений в хранилище на основе свойств сообщения. Эти сообщения перестают отображаться в Обозревателе Интернета вещей, так как сообщения отправляются только в встроенную конечную точку, если они не соответствуют другим маршрутам в Центре Интернета вещей.
Настройка маршрутизации сообщений
Вы собираетесь направлять сообщения на разные ресурсы на основе свойств, прикрепленных к сообщению имитируемым устройством. Сообщения, которые не являются настраиваемыми, отправляются к конечной точке по умолчанию (сообщения/события).
Пример приложения для этого руководства назначает свойство уровня каждому сообщению, которое отправляется в Центр Интернета вещей. Каждому сообщению случайным образом назначается один из уровней: нормальный, хранилище или критический.
Первым шагом является настройка конечной точки, в которую направляются данные. Затем нужно настроить маршрут сообщений, ведущий в эту конечную точку. После настройки маршрутизации можно просмотреть конечные точки и маршруты сообщений на портале.
Создание учетной записи хранилища
Создайте учетную запись хранения Azure и контейнер в этой учетной записи, в которой хранятся сообщения устройства, которые направляются в него.
На портале Azure найдите раздел Учетные записи хранения.
Нажмите кнопку создания.
Чтобы создать учетную запись хранения, введите следующие значения:
Параметр Значение Подписка Выберите ту же подписку, которая содержит Центр Интернета вещей. Группа ресурсов Выберите группу ресурсов, которая содержит Центр Интернета вещей. Имя учетной записи хранения Укажите глобально уникальное имя для вашей учетной записи хранения. Производительность Примите значение Стандартная по умолчанию. Вы можете принять все остальные значения по умолчанию, выбрав Просмотреть и создать.
После завершения проверки щелкните Создать.
По завершении развертывания выберите элемент Перейти к ресурсу.
В меню учетной записи хранения выберите Контейнеры в разделе Хранилище данных.
Выберите + Контейнер, чтобы создать контейнер.
Введите имя контейнера и выберите Создать.
Маршрут к учетной записи облака
Теперь настройте маршрутизацию для учетной записи хранения. В этом разделе описана новая конечная точка, указывающая на созданную учетную запись хранения. Затем вы создадите маршрут, который фильтрует сообщения, в которых для свойства уровня задано хранилище, и перенаправьте эти сообщения в конечную точку хранилища.
Примечание.
Данные можно записывать в хранилище BLOB-объектов либо в формате Apache Avro, который выбран по умолчанию, либо в формате JSON.
Формат кодирования можно задать только в момент настройки конечной точки blob storage. Формат нельзя изменить для ранее настроенной конечной точки. Если используется кодирование JSON, в свойствах системы обмена сообщениями нужно установить для параметра contentType значение JSON, а для параметра contentEncoding — значение UTF-8.
Дополнительные сведения об использовании конечной точки хранилища BLOB см. в Azure-хранилище в качестве конечной точки маршрутизации.
Внимание
В этой статье содержатся шаги по подключению к службе с помощью подписанного URL-адреса. Этот метод проверки подлинности удобнее для тестирования и оценки, но проверка подлинности в службе с помощью идентификатора Microsoft Entra или управляемых удостоверений является более безопасным подходом. Дополнительные сведения см. в рекомендациях по безопасности решений > Интернета вещей Cloud Security.
Найдите нужный Центр Интернета вещей на портале Azure.
В меню ресурсов в разделе "Параметры Центра" выберите маршрутизацию сообщений и нажмите кнопку "Добавить".
На вкладке "Конечная точка" создайте конечную точку хранилища, указав следующие сведения:
Параметр Значение Тип конечной точки Выберите Хранилище. Имя конечной точки Укажите уникальное имя для этой конечной точки. Контейнер хранилища Azure Щелкните Выберите контейнер. Следуйте инструкциям, чтобы выбрать учетную запись хранения и контейнер, созданный в предыдущем разделе. Кодирование Выберите JSON. Если это поле неактивно, регион вашей учетной записи хранения не поддерживает JSON. В этом случае продолжайте использовать AVRO по умолчанию. Примите значения по умолчанию для остальных параметров и нажмите кнопку "Создать+ далее".
На вкладке "Маршрут" укажите следующие сведения, чтобы создать маршрут, указывающий на созданную конечную точку хранилища:
Параметр Значение Имя Создайте имя маршрута. Источник данных Убедитесь, что в раскрывающемся списке выбраны Сообщения телеметрии устройства. Включить маршрут Убедитесь, что это поле проверено. Маршрутизация запроса Введите level="storage"
как строку запроса.Выберите "Создать и пропустить обогащения".
Просмотр перенаправленных сообщений
После создания маршрута в Центре Интернета вещей и включения он немедленно запускает маршрутизацию сообщений, удовлетворяющих его условию запроса в конечную точку хранилища.
Мониторинг встроенной конечной точки с помощью Обозревателя Интернета вещей
Вернитесь к сеансу Обозревателя Интернета вещей на компьютере, на котором ведется разработка. Помните, что Обозреватель Интернета вещей отслеживает встроенную конечную точку Центра Интернета вещей. Это означает, что теперь вы должны видеть только сообщения, которые не маршрутизируются созданным нами пользовательским маршрутом.
Запустите пример еще раз, выполнив код. Просмотрите входящие сообщения в течение нескольких секунд, и вы увидите только сообщения, для которых level
задано значение normal
или critical
.
Просмотр сообщений в контейнере хранилища
Убедитесь, что сообщения поступают в контейнер хранилища.
Войдите в свою учетную запись хранения на портале Azure.
Выберите Контейнеры в разделе Хранилище данных в меню.
Выберите контейнер, созданный для этого руководства.
Там должна быть папка с именем Центра Интернета вещей. Детализируйте структуру файлов до тех пор, пока не получите json-файл.
Выберите JSON-файл, а затем нажмите кнопку "Скачать ", чтобы скачать JSON-файл. Убедитесь, что файл содержит сообщения, полученные с вашего устройства, для которых установлено
level
свойствоstorage
.Остановите выполнение примера.
Очистка ресурсов
Чтобы удалить все ресурсы Azure, использованные для этого руководства, удалите группу ресурсов Azure. При этом будут также удалены все ресурсы, содержащиеся в группе. Если вы не хотите удалять всю группу ресурсов, используйте портал Azure для поиска и удаления отдельных ресурсов.
Если вы планируете продолжить работу со следующим руководством, сохраните созданные здесь ресурсы.
- В портале Azure перейдите к группе ресурсов, содержащей Центр Интернета вещей и учетную запись хранения для этого руководства.
- Просмотрите все ресурсы, которые находятся в группе ресурсов, чтобы определить, какие ресурсы необходимо очистить.
- Если вы хотите удалить ресурс, щелкните Удалить группу ресурсов.
- Если требуется удалить только определенный ресурс, установите флажки рядом с каждым именем ресурса, чтобы выбрать те, которые требуется удалить. Затем выберите Удалить.
Следующие шаги
В этом руководстве вы узнали, как создать пользовательскую конечную точку для ресурса Azure, а затем создать маршрут для отправки сообщений устройства в эту конечную точку. Перейдите к следующему руководству, чтобы узнать, как обогатить сообщения дополнительными данными, которые можно использовать для упрощения последующей обработки