无法使用AWS IoT SDK发布到保留主题

时间:2017-06-17 22:37:48

标签: javascript amazon-web-services iot

我目前正在使用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>);
});

1 个答案:

答案 0 :(得分:1)

我看到您正在使用SDK的thing shadow class发布保留主题。通过查看SDK的源代码,我看到it is not possible to publish on a reserved topic使用此类客户端,因为对保留主题的所有操作都是由.register().update()进行的。

然而,您可以使用these reserved topicsdevice class发布。