Получение ошибки «идентификатор устройства недействителен» при добавлении устройства в Azure IoT Hub с помощью метода AddDeviceAsyn c - PullRequest
0 голосов
/ 16 января 2020

Я использовал метод RegisterManager.AddDevicesAsyn c при добавлении устройства, поскольку идентификатор устройства включает «I (букву)» в Azure IoT-концентратор в моем проекте. И произошло исключение. Имеет ли идентификатор устройства какие-либо ограничения по этой проблеме?

public async Task AddDeviceAsync(DeviceConfig deviceConfig)
    {
        try
        {
            DeviceStatus status;
            if (!Enum.TryParse(deviceConfig.Status, true, out status))
            {
                status = DeviceStatus.Enabled;
            }

            var d = new Device(deviceConfig.DeviceId)
            {
                Status = status
            };

            await this.registryManager.AddDeviceAsync(d);
        }
        catch (ArgumentException ex)
        {
            this.logger.LogError(ex.Message);
            throw new EVCException(ex.Message);
        }
        catch (DeviceAlreadyExistsException ex)
        {
            this.logger.LogInformation(ex.Message);
        }
    } 
        await this.deviceManager.AddDeviceAsync(new DeviceConfig { DeviceId = "ILICA"});

Ответы [ 2 ]

0 голосов
/ 17 января 2020

Вы можете попробовать использовать DeviceClient.CreateFromConnectionString

using Microsoft.Azure.Devices.Client; // namespace
using DeviceClient device = DeviceClient.CreateFromConnectionString("connectionstring"); 
0 голосов
/ 16 января 2020

AddDeviceAsync() ожидает Device объект, а не DeviceConfig, вы, вероятно, хотите что-то в соответствии с приведенным ниже, я предполагаю:

        await this.deviceManager.AddDeviceAsync(d);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...