Microsoft.Azure.Devices.Client.Exceptions.UnauthorizedException: 'CONNECT failed: RefusedNotAuthorized'

Microsoft.Azure.Devices.Client.Exceptions.UnauthorizedException: 'CONNECT failed: RefusedNotAuthorized'

我已成功配置我的 Azure IoT 开发工具包 MXChip,我可以将数据发送到 IoT 中心。我还创建了一个带有路由器的逻辑应用程序,用于在温度超过预期时接收邮件,并创建了一个 SQL 服务器来保存流分析作业数据。基本上,我按照教程进行操作,到目前为止,一切正常,现在我只是创建一个模拟器设备,我可以在其中模拟此 tutorial 中提到的事件。但是每当我 运行 应用程序时,我总是会收到如下错误。

Microsoft.Azure.Devices.Client.Exceptions.UnauthorizedException: 'CONNECT failed: RefusedNotAuthorized'

虽然我知道这是一个身份验证问题,但我不确定我在这里遗漏了什么,并且我已经按照教程中的说明更改了我的 Hub Uri 和设备密钥。

private readonly static string s_iotHubUri = "";
// This is the primary key for the device. This is in the portal. 
// Find your IoT hub in the portal > IoT devices > select your device > copy the key. 
private readonly static string s_deviceKey = "";

我刚刚弄清楚是什么导致了这个错误。我认为我们可以在这里使用的设备 ID 只是一个虚拟的,因为它在教程中没有提到,但事实并非如此。所以,我有两个选择,

  1. 使用我在模拟器应用程序(测试设备)中使用的设备 ID 在 IoT 中心创建一个新的物联网设备,并更新应用程序中的设备 ID 和密钥
  2. 使用已经可用的设备 ID

我刚刚在集线器中创建了一个新的测试设备。

private readonly static string s_myDeviceId = "test-device";
private readonly static string s_iotHubUri = "youriothubname.azure-devices.net";
private readonly static string s_deviceKey = "devicekey";

进行这些更改后,一切都按预期正常工作。