Есть ли какой-либо 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.