Azure IoT 中心设备孪生更改通知问题
Azure IoT Hub Device Twin Change Notification Issues
我正在尝试在设备孪生属性更改时在云后端接收通知。为此,我设置了一条路线,如下图 link
所示
我还创建了一个 Azure 函数,该函数在内置端点事件的默认使用者组上触发。但是,当我为我的其中一台设备更新设备孪生文档时,不会触发 azure 功能。如果我使用 iothubexplorer 或 Device explorer 监视设备的事件,我根本看不到 "updateTwin" 事件。但是,如果我从接收到的设备发送常规的设备到云,它会起作用。
我正在使用以下代码更新设备孪生:
'use strict';
var Client = require('azure-iot-device').Client;
var Protocol = require('azure-iot-device-mqtt').Mqtt;
var connectionString = '';
var client = Client.fromConnectionString(connectionString, Protocol);
client.open(function(err) {
if (err) {
console.error('could not open IotHub client');
} else {
console.log('client opened');
client.getTwin(function(err, twin) {
if (err) {
console.error('could not get twin');
} else {
var body = {
temperature: '40'
}
console.log(twin.properties.reported);
twin.properties.reported.update(body, function(err) {
if (err) {
console.error('could not update twin');
} else {
console.log('twin state reported');
process.exit();
}
});
}
});
}
});
我还尝试使用以下命令使用 iothub-explorer:
iothub-explorer update-twin InitialDevice {\"properties\":{\"desired\":
{\"interval\":9000}}} --登录“”
我用您 post 中的代码进行了测试,它有效,因此您的路由设置和代码是正确的。
你提到过这个吗?我猜问题与 that.Please 尝试检查帐户位置并根据 Roman Kiss 的建议进行测试。
我正在尝试在设备孪生属性更改时在云后端接收通知。为此,我设置了一条路线,如下图 link
所示我还创建了一个 Azure 函数,该函数在内置端点事件的默认使用者组上触发。但是,当我为我的其中一台设备更新设备孪生文档时,不会触发 azure 功能。如果我使用 iothubexplorer 或 Device explorer 监视设备的事件,我根本看不到 "updateTwin" 事件。但是,如果我从接收到的设备发送常规的设备到云,它会起作用。
我正在使用以下代码更新设备孪生:
'use strict';
var Client = require('azure-iot-device').Client;
var Protocol = require('azure-iot-device-mqtt').Mqtt;
var connectionString = '';
var client = Client.fromConnectionString(connectionString, Protocol);
client.open(function(err) {
if (err) {
console.error('could not open IotHub client');
} else {
console.log('client opened');
client.getTwin(function(err, twin) {
if (err) {
console.error('could not get twin');
} else {
var body = {
temperature: '40'
}
console.log(twin.properties.reported);
twin.properties.reported.update(body, function(err) {
if (err) {
console.error('could not update twin');
} else {
console.log('twin state reported');
process.exit();
}
});
}
});
}
});
我还尝试使用以下命令使用 iothub-explorer: iothub-explorer update-twin InitialDevice {\"properties\":{\"desired\": {\"interval\":9000}}} --登录“”
我用您 post 中的代码进行了测试,它有效,因此您的路由设置和代码是正确的。
你提到过这个