首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主题与授权规则不匹配

主题与授权规则不匹配
EN

Stack Overflow用户
提问于 2019-06-18 16:14:40
回答 1查看 303关注 0票数 1

下面的代码是我用来将数据从r-pi sense-hat发布到IBM云的代码

代码语言:javascript
复制
topic = 'iot-2/evt/temperature/fmt/json'
print("Publishing data from pito cloud",json.dumps(payload))
client.publish(topic,json.dumps(payload), qos=1)

在IBM Cloud上发布的格式是否已更改?IBM cloud connection日志显示消息: Topic不匹配授权规则。

EN

回答 1

Stack Overflow用户

发布于 2019-06-18 18:59:17

如果您要发布作为设备连接的事件(例如,d:{orgId}:{typeId}:{deviceId}) = clientId,这是正确的主题:

代码语言:javascript
复制
iot-2/evt/temperature/fmt/json

如果您要发布作为应用程序连接的事件(例如clientId = a:{orgId}:{appId}) ),则需要使用的主题结构是不同的:

代码语言:javascript
复制
iot-2/type/{typeId}/id/{deviceId}/evt/temperature/fmt/json

看起来你正在使用Python paho客户端,如果你正在使用Python,我强烈建议你尝试一下官方的SDK wiotp-sdk包,它屏蔽了和HTTP的所有内部细节,比如使用哪个主题字符串。

该代码在GitHub中是开源的,可从PyPi获得,并被Watson IoT Platform开发团队广泛用于我们所有的内部监控代理。

下面是应用程序和设备的事件发布的相关代码,即使您不想使用SDK,这些代码也可能有助于您了解底层Paho客户端是如何使用的:

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

https://stackoverflow.com/questions/56644622

复制
相关文章

相似问题

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