首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >`aws iot-data`命令和AWS保留主题($)

`aws iot-data`命令和AWS保留主题($)
EN

Stack Overflow用户
提问于 2020-10-19 20:36:02
回答 1查看 86关注 0票数 0

我是亚马逊网络服务IoT的新手,现在尝试使用现有的资源来理解主要概念。当我使用aws iot-data命令试图将数据发布到亚马逊网络服务保留主题之一时,我遇到了一个奇怪的行为。假设我想要更新某个stub thing的名为stubShadow的命名卷影(我正在使用AWS IoT Dashboard中的Test选项卡):

代码语言:javascript
复制
 aws iot-data update-thing-shadow --thing-name stub --shadow-name stubShadow \
    --cli-binary-format raw-in-base64-out \
    --payload '{"state":{"desired":{"ColorRGB":[0,11,11]}},"clientToken":"21b21b21-bfd2-4279-8c65-e2f697ff4fab"}' /dev/stdout

它工作得很好,我可以观察$aws/things/stub/shadow/name/stubShadow/update/accepted主题的更新。

现在我想使用topic参数发布一条消息。下面是一个示例:

代码语言:javascript
复制
aws iot-data publish --topic "$aws/things/stub/shadow/name/stubShadow/update" \
    --cli-binary-format raw-in-base64-out \
    --payload '{"state":{"reported":{"ColorRGB":[0,11,11]}},"clientToken":"21b21b21-bfd2-4279-8c65-e2f697ff4fab"}'

什么都没发生。我想知道向AWS服务主题发送直接消息的命令有什么问题?我是不是错过了什么?因为对于常规的(手动创建的)主题,它工作得很好。

EN

回答 1

Stack Overflow用户

发布于 2020-10-21 05:57:23

就像document说的,

payload是stringify json消息的base64编码表示

代码语言:javascript
复制
{"state":{"reported":{"ColorRGB":[0,11,11]}}}

代码语言:javascript
复制
console.log(btoa(JSON.stringify({"state":{"reported":{"ColorRGB":[0,11,11]}}})))

负载:eyJzdGF0ZSI6eyJyZXBvcnRlZCI6eyJDb2xvclJHQiI6WzAsMTEsMTFdfX19

aws iot-data publish --topic "$aws/things/stub/shadow/name/stubShadow/update" --payload 'eyJzdGF0ZSI6eyJyZXBvcnRlZCI6eyJDb2xvclJHQiI6WzAsMTEsMTFdfX19'

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

https://stackoverflow.com/questions/64427485

复制
相关文章

相似问题

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