我目前正在使用javascript AWS Iot SDK。调整提供here的示例,我已经能够注册我的thingShadow,并且我试图在注册后发布更新。但是,当我这样做时,我收到以下错误消息:
cannot publish to reserved topic '$aws/things/<thingName>/shadow/update'
我理解'$'表示这是一个保留主题,但亚马逊的文档(http://docs.aws.amazon.com/iot/latest/developerguide/topics.html) 声明对此保留主题允许发布和订阅操作。如果是这种情况,我不确定为什么我的发布尝试导致错误。此代码段演示了我如何尝试在我的连接回调中发布:
shadows.register(<thingName>, {
persistentSubscribe: true
}, () => {
shadows.publish('$aws/things/<thingName>/shadow/update', <message>);
});
答案 0 :(得分:1)
我看到您正在使用SDK的thing shadow class发布保留主题。通过查看SDK的源代码,我看到it is not possible to publish on a reserved topic使用此类客户端,因为对保留主题的所有操作都是由.register()
和.update()
进行的。
然而,您可以使用these reserved topics在device class发布。