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

Cannot publish to reserved topic using AWS IoT SDK

我目前正在使用 javascript AWS Iot SDK。调整提供的示例 here,我已经能够在我的 thingShadow 上注册,并且我正在尝试在注册后发布更新。但是,当我这样做时,我收到以下错误消息:

cannot publish to reserved topic '$aws/things/<thingName>/shadow/update'

我理解 '$' 表示这是一个保留主题,但是 Amazon 的文档 (http://docs.aws.amazon.com/iot/latest/developerguide/topics.html) 声明此保留主题允许发布和订阅操作。如果是这样,我不确定为什么我尝试发布会导致错误。此片段演示了我如何尝试在我的连接回调中发布:

shadows.register(<thingName>, {
    persistentSubscribe: true
}, () => {
    shadows.publish('$aws/things/<thingName>/shadow/update', <message>);
});

我看到您正在使用 thing shadow class of the SDK to publish on a reserved topic. By looking at the source code of the SDK, I see that it is not possible to publish on a reserved topic 这种类型的客户端,因为所有对保留主题的操作都是由 .register().update() 进行的。

但是您可以在 these reserved topics by using the device class 上发布。