使用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);
}
答案 0 :(得分:0)
npm包上有一个错误,在github上向MS报告后,它被修复,一夜之间发布,所以我再次安装了包,问题解决了。