向IoTCentral注册设备的调用返回一个异常,但是该设备在Web应用程序中(在“未关联的设备”下)确实可见。
Googled,找不到任何内容。用DEBUG = *跑了,看到了
azure-iot-provisioning-device-http:Http {"operationId":"4.dd5e9d546d057f12.8a2a1010-281f-4ac1-a29f-591800934ecc","status":"failed","registrationState":{"registrationId":"jeffsdeskjune","createdDateTimeUtc":"2019-06-17T14:25:14.7183582Z","status":"failed","errorCode":400209,"errorMessage":"Custom allocation failed with
status code: 401","lastUpdatedDateTimeUtc":"2019-06-17T14:25:14.8832611Z","etag":"IjZkMDBmY2MwLTAwMDAtMDEwMC0wMDAwLTVkMDdhMmNhMDAwMCI="}}
401将被未经授权,但是此“自定义分配”是什么?试图注册自己的原始设备希望提供丢失的授权吗?还是服务对服务的东西?
代码(JavaScript /节点):
var transport = new Transport();
var securityClient = new X509Security(registrationId, deviceCert);
deviceClient = ProvisioningDeviceClient.create(provisioningHost, idScope, transport, securityClient);
// Register the device. Do not force a re-registration.
deviceClient.register(function (err, result) {
if (err) {
console.log("error registering device: " + err);
代码是从azure-iot-sdk-node中的register_x509.js复制的。引发的错误是“错误注册设备:ProvisioningRegistrationFailedError:注册失败”。但是,如果我转到xxx.azureiotcentral.com设备浏览器/未关联的设备,则该设备确实出现在此处。无论设备已经在该列表中还是我首先删除它,都会引发错误。签署了此设备证书的证书已上载并验证,并且仍然有效。发生了什么/该怎么办?
答案 0 :(得分:0)
我相信这是正常现象,尽管绝对可以改善错误消息。流程如下:
如果未在“设备资源管理器”页面上手动注册设备,但已连接有效凭据,并且在“设备资源管理器”页面上显示为“未关联”设备,则配置状态应显示为已注册 。当您将设备关联到适当的设备模板并批准该设备连接到IoT Central应用程序时,配置状态应显示为已配置。
因此,对您而言,信任的根源(以便您知道设备是否已注册)应该是在iot中央应用程序上显示的置备状态。