hei*_*erg 1 amazon-web-services node.js mqtt aws-lambda aws-iot
我正在尝试使用Nodejs将AWS Lamba的消息发布到AWS IoT。我已将项目压缩并上传到下面的AWS IoT,这是代码片段
var awsIot = require('aws-iot-device-sdk');
var device = awsIot.device({
keyPath: 'keyfilepath',
certPath: 'pem file path',
caPath: 'root-CA.crt',
clientId: 'iotTest7526532135',
host: 'host id'
});
device
.on('connect', function() {
console.log('connect');
device.subscribe('topic_3');
device.publish('topic_1', JSON.stringify({ message_id:23,Message:'HelloWorld'}));
});
device
.on('message', function(topic, payload) {
console.log('message', topic, payload.toString());
});
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
“ errorMessage”:“找不到模块'aws-iot-device-sdk'”,
我知道缺少物联网sdk,我不确定如何在AWS Lambda上安装它。
任何建议都会非常有帮助
我强烈建议不要使用aws-iot-device-sdk从Lambda函数与AWS Iot进行交互。
您需要了解可以使用2个JavaScript API来访问AWS IoT
选择基于HTTP的SDK有多种原因:
您的代码可以变得如此简单(请注意,不需要凭据或额外的节点模块):
var AWS = require('aws-sdk');
var iotdata = new AWS.IotData({endpoint:"yourendpoint.iot.eu-central-1.amazonaws.com"});
exports.handler = function(event, context, callback) {
console.log("found iotdata",iotdata);
var params = {
topic: 'topic/test',
payload: 'blah',
qos: 0
};
iotdata.publish(params, function(err, data){
if(err){
console.log("Error occured : ",err);
}
else{
console.log("success.....");
}
});
callback();
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3220 次 |
| 最近记录: |