Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure资源调配服务示例不适用于节点_Azure_Azure Iot Hub_Azure Iot Sdk - Fatal编程技术网

Azure资源调配服务示例不适用于节点

Azure资源调配服务示例不适用于节点,azure,azure-iot-hub,azure-iot-sdk,Azure,Azure Iot Hub,Azure Iot Sdk,我按照node.js教程通过Azure DPS(设备配置服务)注册设备@。 对于单个设备注册,它成功了,但当我尝试通过注册组注册设备时,它失败了。 我使用“create_test-cert.js root”生成我的根证书和 create_test-cert.js verification --ca {rootcertificate_cert .pem} --key {rootcertificate_key.pem} --nonce {verificationKey} 核实。 我还使用creat

我按照node.js教程通过Azure DPS(设备配置服务)注册设备@。 对于单个设备注册,它成功了,但当我尝试通过注册组注册设备时,它失败了。 我使用
“create_test-cert.js root”
生成我的根证书和

create_test-cert.js verification --ca {rootcertificate_cert
.pem} --key {rootcertificate_key.pem} --nonce {verificationKey}
核实。 我还
使用create_test-cert.js设备{leafcertificate}{rootcertificate name}
来创建设备证书。 最后,我使用register_x509.js文件将我的设备注册到Azure。执行此文件时,我有以下错误

azure-iot-provisioning-device:X509Registration registrationId: first +0ms
  azure-iot-provisioning-device:PollingStateMachine register called for registrationId "first" +0ms
  azure-iot-provisioning-device:PollingStateMachine completed transition from disconnected to sendingRegistrationRequest +0ms
  azure-iot-provisioning-device-http:Http submitting PUT for first to /0ne00015676/registrations/first/register?api-version=2017-11-15 +0ms
  azure-iot-provisioning-device-http:Http {"registrationId":"first"} +0ms
  azure-iot-provisioning-device-http:Http error executing PUT: UnauthorizedError: Error: {"errorCode":401002,"trackingId":"e6b9c185-64c4-4535-8d23-a7625dd3e011","message":"Unauthorized","timestampUtc":"2018-04-23T12:21:56.1390465Z"} +353ms
错误代码“401002是未经授权的数据访问”


谢谢

我已经用最新版本的SDK进行了测试。它起作用了。以下是我的操作步骤

更新:

  • 使用命令生成根ca证书文件(testRootCert\u cert.pem、testRootCert\u fullchain.pem、testRootCert\u key.pem将在tools文件夹中生成):
  • 节点创建\测试\证书.js根

  • 在证书中添加名为“root”的证书,并上载根ca文件(testRootCert\u cert.pem)

  • 使用此命令生成验证码并创建验证ca文件,上传验证\u cert.pem文件,状态“root”为“Verified”:

  • 节点create_test_cert.js verification--ca testRootCert_cert.pem--key testRootCert_key.pem--nonce{verification code}

  • 创建注册组下面,将创建名为“first”的注册组:
  • 节点create_registration_group.js“”“testRootCert_cert.pem”

  • 通过以下命令生成设备注册到组的证书文件
  • 节点创建\测试\证书.js设备设备01 testRootCert

  • 将device01 _cert.pem、device01 _fullchain.pem和device01 _key.pem复制到“\device\samples”文件夹,并修改
    设置主机
    id范围
    注册id
    (此处称为“第一个”)、
    证书文件名
    密钥文件名
    。请参考这个
  • var provisionghost='{your provisioning Host}'; var idScope='{your id scope}'; var registrationId='device01'; var deviceCert={ 证书:fs.readFileSync('device01\u cert.pem').toString(), key:fs.readFileSync('device01_key.pem').toString() };

  • 最后,运行
    节点寄存器_x509.js
    分配设备。消息将显示为:

  • 请注意,设备供应服务应链接到您的物联网中心。

    多亏了Michael,我意识到问题出现在文档中。不清楚registrationid是叶的registrationid,而不是父证书的registrationid

    “将注册id替换为上一节中注明的注册id。”应替换为
    “将注册id替换为以前生成的叶的注册id”

    用于.net的设置服务示例也不工作,链接为它。始终获取系统参数错误,值不能为null。然后我发现问题是Environment.GetEnvironmentVariable(key)返回null。如何处理此错误?

    什么是“DPS?”定义首字母缩略词很有帮助。此外,还不清楚您所指的是什么教程,并且没有太多关于这个问题的上下文,也不清楚您正在尝试做什么,或者预期的结果是什么(除了涉及Azure IoT之外)。请相应地编辑您的问题。嗨,Michael,我目前在azure iot sdk节点的主分支上,是的,我已将iotHub链接到DPS。你知道我是否能在AZure portal中找到一些解释问题的日志吗。我不知道问题是链接到我的证书还是其他原因。嗨,Mickeel,你描述的过程在我这方面也作为个人注册工作,我的问题是当我尝试在注册组上配置设备时,我目前在azure iot sdk节点的主分支上,是的,我已将IoHub链接到DPS。你知道我是否能在AZure portal中找到一些解释问题的日志吗。我不知道问题是链接到我的证书还是什么else@stef,您可以在DPS中设置诊断设置以监视和诊断日志,以确保一切正常运行。@stef,当我尝试在注册组中设置设备时,它也可以工作。我已更新了回复。谢谢Mickeel,我昨天激活了诊断日志,但我在Azure上找不到它们。你知道我在哪里可以找到它们吗?昨天您尝试了个人注册,但您是否尝试过对组注册执行相同的操作,这种情况失败了,我在Azure文档中找不到示例。您可以在文档底部提供有关文档的反馈。
    registration succeeded
    assigned hub={iothub host}
    deviceId=device01