首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用AWS node.js sdk订阅thingshadow更新?

如何使用AWS node.js sdk订阅thingshadow更新?
EN

Stack Overflow用户
提问于 2016-06-16 01:52:03
回答 2查看 995关注 0票数 1

因此,我有一堆AWS IOT设备更新/报告它们的状态,但不确定如何从我的javsascript客户端订阅已报告/已接受/增量状态。

我查看了AWS sdk,但没有看到在iot对象中订阅事物阴影事件的方法。我可以使用aws-iot库,但对如何使用AWS凭证有点困惑(因为它不是设备客户端)。

在此使用案例中,我应该使用AWS sdk还是AWS-IOT sdk?这两者之间有什么区别。如果使用aws sdk,如何订阅thingshadow事件?如果使用AWS-IOT sdk,我如何使用aws凭证而不是证书身份验证?我在示例中看不到它。

EN

回答 2

Stack Overflow用户

发布于 2016-09-24 11:45:56

到目前为止,我已经得到了这种工作方法。

代码语言:javascript
复制
Device -> Updates Thing Shadow data
Device -> Sends message to a generic topic with "Thing" id

API -> Listens to the generic topic
API -> Parses message that comes in to the generic topic with "Thing" id
API -> Uses AWS SDK  (AWS IOT Data class) to get the specific "Thing" shadow data

这就是我如何通过代码来完成这一轮的。我欢迎更多的更新,因为我正在尝试构建一种更好的方式。

希望这能有所帮助。

-kev

票数 0
EN

Stack Overflow用户

发布于 2018-03-17 03:19:44

首先,查找此文档,也许它可以帮助您:

https://github.com/aws/aws-iot-device-sdk-js

当你发布一些东西到thingShadow,并且状态被接受时,你可以在通道'$aws/things//shadow/get/ accepted‘中订阅它。

若要订阅此频道,您可以使用设备上的subscribe方法。

代码语言:javascript
复制
var AWS = require('aws-sdk');

var device = awsIot.device({
    region: AWS.config.region,
    host:AWSConfiguration.host,
    clientId: clientId,
    protocol: 'wss',
    maximumReconnectTimeMs: 8000,
    debug: true,
    acessKeyId: '',
    secretKey: '',
    sessionToken: ''
  });

device.subscribe('$aws/things/<thingName>/shadow/get/accepted');

如果您感到困惑,或者需要有关凭据的信息,请查看以下示例:

https://github.com/aws/aws-iot-device-sdk-js/blob/fd0807e20a0d79c721cfb3b85622392f0c65e7e1/examples/browser/mqtt-explorer/index.js

配置文件在相同的文档中。

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37842436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档