Я использую службу подготовки устройств Azure (DPS) для автоматической регистрации и подготовки устройств в Центре Интернета вещей Azure.
Я хочу получить устройство-двойник определенного устройства.
Мне удается получить двойника устройства с помощью класса de DeviceClient:
var result = await provisioningDeviceClient.RegisterAsync().ConfigureAwait(false);
DeviceAuthenticationWithX509Certificate deviceAuthentication = new DeviceAuthenticationWithX509Certificate(result.DeviceId, certificate);
var deviceClient = DeviceClient.Create(result.AssignedHub, deviceAuthentication, TransportType.Mqtt_Tcp_Only);
var deviceTwin = await deviceClient.GetTwinAsync().ConfigureAwait(false);
Но я хотел бы получить устройство с помощью RegistryManager, для которого требуется строка подключения конкретного IoTHub.
using (var registryManager = RegistryManager.CreateFromConnectionString(IotHubConnectionString))
{
var deviceTwin = await registryManager.GetTwinAsync(result.DeviceId);
}
Есть ли способ получить строку подключения к Центру Интернета вещей от DPS, или подключенного устройства, или имени Центра Интернета вещей (т. е. result.AssignedHub)? Я использую C # SDK.
Я видел возможный подход в: https://github.com/MicrosoftDocs/azure-docs.es-es/blob/master/articles/iot-hub/iot-hub-devguide-security.md#Compatibilidad-con-c Однако я не могу понять, откуда берется переменная deviceGatewayConnectionString, которую они используют в примере.