Поделиться через


Создание и удаление маршрутов и конечных точек с помощью Azure Resource Manager

В этой статье показано, как экспортировать шаблон Центр Интернета вещей Azure, добавить маршрут в Центр Интернета вещей, а затем повторно развернуть шаблон в Центре Интернета вещей с помощью Azure CLI или Azure PowerShell. Используйте шаблон azure Resource Manager для создания маршрутов и конечных точек для Центры событий Azure, Служебная шина Azure очередей и разделов, а также службы хранилища Azure.

Шаблоны Resource Manager Azure полезны, если требуется определить ресурсы с помощью JSON-файла. Каждый ресурс Azure имеет шаблон, определяющий компоненты, используемые в этом ресурсе. Вы можете экспортировать все шаблоны ресурсов Azure.

Важно!

При использовании шаблона Resource Manager для развертывания ресурса он заменяет любой существующий ресурс развертываемого типа.

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

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

Дополнительные сведения о том, как маршрутизация работает в Центр Интернета вещей, см. в статье Использование маршрутизации сообщений Центр Интернета вещей для отправки сообщений с устройства в облако в разные конечные точки. Инструкции по настройке маршрута, который отправляет сообщения в хранилище, а затем тестирует на имитированном устройстве, см. в статье Руководство. Отправка данных устройства в службу хранилища Azure с помощью маршрутизации сообщений Центр Интернета вещей.

Предварительные требования

Процедуры, описанные в этой статье, используют следующие ресурсы:

  • Шаблон azure Resource Manager
  • Центр Интернета вещей
  • Служба конечной точки в Azure

Шаблон Azure Resource Manager

В этой статье для работы с Центр Интернета вещей и другими службами Azure используется шаблон Resource Manager Azure в портал Azure. Дополнительные сведения об использовании шаблонов Resource Manager см. в статье Что такое шаблоны azure Resource Manager?

центр Интернета вещей

Чтобы создать маршрут Центра Интернета вещей, вам потребуется Центр Интернета вещей, созданный с помощью Центр Интернета вещей Azure. Сообщения устройств и журналы событий порождены в Центре Интернета вещей.

Убедитесь, что при создании маршрута центра Интернета вещей используется следующий ресурс концентратора:

Служба конечной точки

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

Не забудьте использовать один из следующих ресурсов при создании конечной точки маршрута Центра Интернета вещей:

Создание маршрута

В Центр Интернета вещей можно создать маршрут для отправки сообщений или записи событий. Каждый маршрут имеет источник данных и конечную точку. Источник данных — это место, откуда происходят сообщения или журналы событий. Конечная точка — это место, где заканчиваются сообщения или журналы событий. При создании нового маршрута в Центре Интернета вещей вы выбираете расположения для источника данных и конечной точки. Затем запросы маршрутизации используются для фильтрации сообщений или событий перед их переходом в конечную точку.

Вы можете использовать концентратор событий, очередь или раздел служебной шины или учетную запись хранения Azure, чтобы стать конечной точкой для маршрута центра Интернета вещей. Служба, используемая для создания конечной точки, должна сначала существовать в учетной записи Azure.

Экспорт шаблона Resource Manager из Центра Интернета вещей

Сначала экспортируйте шаблон Resource Manager из Центра Интернета вещей, а затем добавьте в него маршрут.

  1. Найдите нужный Центр Интернета вещей на портале Azure. В меню ресурсов в разделе Автоматизация выберите Экспорт шаблона.

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

  2. В разделе Экспорт шаблона на вкладке Шаблон выполните следующие действия.

    1. Просмотрите JSON-файл, созданный для Центра Интернета вещей.

    2. Снимите флажок Включить параметры .

    3. Выберите Скачать , чтобы скачать локальную копию JSON-файла.

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

    Шаблон содержит несколько заполнителей, которые можно использовать для добавления функций или служб в Центр Интернета вещей. В этой статье добавляются значения только к свойствам, которые находятся в или вложенные в routing.

Добавление новой конечной точки в шаблон Resource Manager

В JSON-файле найдите "endpoints": [] свойство , вложенное в "routing". Выполните действия, чтобы добавить новую конечную точку на основе службы Azure, выбранной для конечной точки: Центры событий, очереди или разделы служебной шины или служба хранилища Azure.

Сведения о создании ресурса Центров событий (с контейнером) см. в статье Краткое руководство. Создание концентратора событий с помощью шаблона Resource Manager.

В портал Azure получите основную строку подключения из ресурса Центров событий. В области Политики общего доступа ресурса выберите одну из политик, чтобы просмотреть сведения о ключе и строке подключения. Добавьте имя концентратора событий в путь к сущности в конце строки подключения. Например, воспользуйтесь ;EntityPath=my-event-hubs. Это имя концентратора событий, а не имя пространства имен.

Для nameиспользуйте уникальное значение для конечной точки Центров событий. id Оставьте параметр как пустую строку. Служба Azure предоставляет id значение при развертывании конечной точки.

"routing": {
   "endpoints": {
      "serviceBusQueues": [],
      "serviceBusTopics": [],
      "eventHubs": [
            {
               "connectionString": "my Event Hubs connection string + entity path",
               "authenticationType": "keyBased",
               "name": "my-event-hubs-endpoint",
               "id": "",
               "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
               "resourceGroup": "my-resource-group"
            }
      ],
      "storageContainers": [],
      "cosmosDBSqlCollections": []
   },
},

Добавление нового маршрута в шаблон Resource Manager

В JSON-файле найдите "routes": [] свойство , вложенное в "routing", и добавьте следующий новый маршрут в соответствии с выбранной службой конечных точек: Центры событий, очереди или разделы служебной шины или служба хранилища Azure.

Резервный маршрут по умолчанию собирает сообщения из DeviceMessages. Выберите другой вариант, например DeviceConnectionStateEvents. Дополнительные сведения о параметрах источника см. в разделе az iot hub route.

Внимание!

Если заменить существующие значения для "routes" значениями маршрутов, которые используются в следующих примерах кода, существующие маршруты будут удалены при развертывании. Чтобы сохранить существующие маршруты, добавьте новый объект маршрута в "routes" список.

Дополнительные сведения о шаблоне см. в статье Определение ресурса шаблона azure Resource Manager.

"routes": [
    {
        "name": "MyIotHubRoute",
        "source": "DeviceConnectionStateEvents",
        "condition": "true",
        "endpointNames": [
        "my-event-hubs-endpoint"
        ],
        "isEnabled": true
    }
],

Сохраните JSON-файл.

Развертывание шаблона Resource Manager

Добавив новую конечную точку и маршрут в шаблон Resource Manager, вы можете развернуть JSON-файл обратно в Центр Интернета вещей.

Локальное развертывание

az deployment group create \
  --name my-iot-hub-template \
  --resource-group my-resource-group \
  --template-file "my\path\to\template.json"

Развертывание azure Cloud Shell

Так как azure Cloud Shell выполняется в веб-браузере, вы можете отправить файл шаблона перед выполнением команды развертывания. После отправки файла в параметре требуется только имя файла шаблона (а не весь путь к файлу template-file ).

Снимок экрана: расположение кнопки в Azure Cloud Shell для отправки файла.

az deployment group create \
  --name my-iot-hub-template \
  --resource-group my-resource-group \
  --template-file "template.json"

Примечание

Если развертывание завершается сбоем, используйте параметр -verbose, чтобы получить сведения о создаваемых ресурсах. Используйте параметр -debug, чтобы получить дополнительные сведения для отладки.

Подтверждение развертывания

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

Снимок экрана: список развертываний для ресурса в портал Azure с выделенным шаблоном теста.

Чтобы просмотреть новый маршрут в портал Azure, перейдите к Центр Интернета вещей ресурсу. На панели Маршрутизация сообщений на вкладке Маршруты убедитесь, что указан ваш маршрут.

Дальнейшие действия

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

Дополнительные сведения о маршрутизации сообщений см. в статье Руководство. Отправка данных устройств в службу хранилища Azure с помощью маршрутизации сообщений Центр Интернета вещей. В этом руководстве вы создадите маршрут хранилища и протестируете его на устройстве в Центре Интернета вещей.