Как зарегистрировать устройство, используя строку подключения типа устройства в Azure IoT Hub c #? - PullRequest
0 голосов
/ 16 октября 2018

в Azure iot Hub у нас есть несколько типов строки подключения

, чтобы зарегистрировать устройство, которое я могу использовать SharedAccessKeyName=iothubowner, но для отправки сообщений на устройство мне нужно использовать SharedAccessKeyName=device строку соединения, так как ясобираюсь сгенерировать ID устройства во время выполнения.

Так как я могу зарегистрировать устройство, используя SharedAccessKeyName=device, чтобы я мог использовать ту же строку подключения для отправки сообщений на устройство iot hub.

код для регистрации устройства -

class Program
    {
        static RegistryManager registryManager;
        static string connectionString = "HostName=mydemo.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=key!";
        private static async Task AddDeviceAsync()
    {
        string deviceId = "dummydevice";
        Device device;
        try
        {
            device = await registryManager.AddDeviceAsync(new Device(deviceId));
        }
        catch (DeviceAlreadyExistsException)
        {
            device = await registryManager.GetDeviceAsync(deviceId);
        }
        Console.WriteLine("Generated device key: {0}", device.Authentication.SymmetricKey.PrimaryKey);
    }
    static void Main(string[] args)
    {
        registryManager = RegistryManager.CreateFromConnectionString(connectionString);
        AddDeviceAsync().Wait();
        Console.ReadLine();
    }

1 Ответ

0 голосов
/ 16 октября 2018

Для подключения устройства к концентратору IoT можно использовать два типа строки подключения:

  • Политика общего доступа в области концентратора, которая выглядит следующим образом: HostName = yourhubname.azure-devices.net; SharedAccessKeyName = устройство; SharedAccessKey = yourkey
  • Строка подключения устройства, которая выглядит следующим образом: HostName = yourhubname.azure-devices.net; DeviceId = yourdeviceid; SharedAccessKey = yourdevicekey

Вы можете найти первое на портале на странице «Политики общего доступа» вашего хаба.Второй находится на портале на странице сведений об устройстве.

В следующем разделе документов объясняется, как можно использовать два разных типа ключей: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-security#use-sas-tokens-in-a-device-app

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...