iothub.Device不是Object的构造函数。<anonymous>

时间:2016-11-17 03:51:52

标签: javascript node.js azure azure-iot-hub azure-iot-sdk

使用NodeJS我从这里使用基本的示例文档: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-node-node-getstarted

但是我收到了这个错误:

  

iothub.Device不是Object的构造函数。   (/Users/luis.valencia/Projects/IoTSamples/NodeJSIoTHelloWorld   /CreateDeviceIdentity.js:7:14)在Module._compile(module.js:541:32)   在Module.load的Object.Module._extensions..js(module.js:550:10)   (module.js:458:32)在tryModuleLoad(module.js:417:12)at at   Module.runMain中的Function.Module._load(module.js:409:3)   (module.js:575:10)在启动时运行(bootstrap_node.js:352:7)   (bootstrap_node.js:144:9)at bootstrap_node.js:467:3

我的代码如下:

'use strict';
var iothub = require('azure-iothub');
var connectionString = 'HostName=xyz.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=xyz=';
var registry = iothub.Registry.fromConnectionString(connectionString);
var deviceId = "helloworlddevice";

var device = new iothub.Device(null);
device.deviceId = deviceId;

registry.create(device, function(err, deviceInfo, res) {
  if (err)
    registry.get(device.deviceId, printDeviceInfo); 

  if (deviceInfo)
    printDeviceInfo(err, deviceInfo, res) 
});

function printDeviceInfo(err, deviceInfo, res) {
  if (deviceInfo)
    console.log('Generated device key: ' + deviceInfo.authentication.SymmetricKey.primaryKey);
}

1 个答案:

答案 0 :(得分:0)

npm包上有一个错误,在github上向MS报告后,它被修复,一夜之间发布,所以我再次安装了包,问题解决了。