Azure Get IoTHub Connection String с подключенного устройства / службы DPS

Я использую службу подготовки устройств 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, которую они используют в примере.


person kevin    schedule 08.02.2021    source источник


Ответы (1)


_deviceClient = DeviceClient.Create(IotHubUri, new 
 DeviceAuthenticationWithRegistrySymmetricKey(DeviceId, DeviceKey), TransportType.Mqtt);

поместите клавишу symm для 'DeviceKey'

https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.devices.client.deviceauthenticationwithregistrysymmetrickey?view=azure-dotnet

я думаю, это может вам помочь :)

person JackP    schedule 22.02.2021