Есть ли какой-либо REST API для программного связывания Центра Интернета вещей при создании Azure DPS?

Ищете REST Api, который создает DPS, а также ссылку на существующий центр Интернета вещей. Я вижу, что мы можем делать это через Azure CLI, но при поиске вызовов REST Api, поскольку моему веб-приложению (службе приложений Azure) необходимо сначала создать концентратор Iot, а затем использовать его в качестве ссылки при создании DPS. В настоящее время используется Create DPS следующим образом:

   var mydps = new {
                location = "East US", 
                type = "Microsoft.Devices/ProvisioningServices",
            };

   var content = new StringContent(JsonConvert.SerializeObject(mydps), Encoding.UTF8, "application/json");
   var requestUri = string.Format(webOptions.CreateDpsUri, someSubscriptionID, someRsourceGroupgName, somedpsName );  
   var result = await httpClient.PutAsync(requestUri, content);

См. Эту открытую проблему. Поддержка привязки IoT Hub к существующему DPS, где говорится: "В настоящее время вы можете связать концентратор только во время создания ресурса DPS (или обновления кода создания ресурса DPS)". Но я не видел этих вариантов настройки концентратора Iot во время вышеупомянутого вызова DPS Create REST API.

Это отправка какого-либо атрибута param link connectionString будет работать или что-то еще, поскольку я не вижу никакой документации, связанной с привязкой Iot-концентратора в DPS Creation с использованием вызова REST?

Если REST api еще не поддерживается, какие у меня есть варианты связать Iot-концентратор в DPS. Я вижу, что другие варианты для связывания - это шаблон ARM и Azure CLI. Мы можем использовать шаблон ARM, но это только для одноразового развертывания, не уверен, смогу ли я использовать его из веб-приложения. То же самое и с Azure CLI, как я могу использовать его из веб-приложения?

1 ответ

Решение

При создании ресурса Azure IoT Hub DPS вы можете передать список IoT Hubs для ссылки как часть properties.

Пример:

{
  "location": "East US", 
  "type": "Microsoft.Devices/ProvisioningServices",
  "properties": {
     "iotHubs": [
        {
          "applyAllocationPolicy": true,
          "allocationWeight": "1",
          "connectionString": "HostName=iothub-001.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=xxxxxxxx",
          "location": "East US"
        },
        {
          "applyAllocationPolicy": true,
          "allocationWeight": "1",
          "connectionString": "HostName=iothub-002.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=xxxxxxxx",
          "location": "East US"
        }
      ]
  }
}

Подробнее об этом читайте в документации ресурса Azure IoT Hub DPS.

Другие вопросы по тегам