基于MQTT的文件传输 - 请求的文件ID未找到。

0

【以下的问题经过翻译处理】 我正在尝试建立基于MQTT的文件传输。详情请见附图。

步骤:

  1. 发布DescribeStream请求到describe-topic。
  2. 使用描述主题提供的fileID将GetStream请求发布到get-topic。
  3. 根据fileID拒绝请求。

设备策略(斜体是虚拟值):

  • 允许 - iot:接收,发布 - arn:aws:iot:myregion123123123:topic/$aws/things/thingName/streams/*
  • 允许 - iot:Subscribe - arn:aws:iot:myregion:123123123:topicfilter/$aws/things/thingName/streams/*
  • 允许 - iot:Connect - arn:aws:iot:myregion:123123123:client/clientName

其他:

  • 图像上的传感器名称相同。
  • 设备和存储桶/文件上的区域相同。
  • 设备上的行为与MQTT测试客户端相同。
  • 我尝试的所有其他MQTT操作都可以正常工作。

我无法理解我在这里做错了什么,并且我无法在文档中找到有关ResourceNotFound拒绝的任何信息。我知道该流程在boto3上运作。我已经设置了不同的流程,但出现了相同的错误。我尝试更改请求JSON,但是接着我就会得到不同的错误,例如json格式错误,值类型错误,错误的流程版本等。

如果有人有相关经验,请分享。

编辑:订阅sub策略的arn列错了。应为topicfilter

mqtt测试客户端日志

profile picture
专家
已提问 6 个月前5 查看次数
1 回答
0

【以下的回答经过翻译处理】 我找到了问题所在。创建流时,我没有指定文件ID。默认文件ID是0,这不起作用。创建一个新的流并指定文件ID后,它能够按预期工作。

profile picture
专家
已回答 6 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则