【问题标题】:Aws Iot Rule republish to a dynamic topicAws Iot Rule 重新发布到动态主题
【发布时间】:2016-12-22 18:07:33
【问题描述】:

我订阅了 Aws Iot 主题;

12345678/州

我尝试编写一个规则来获取该主题的有效负载

12345678/影子/更新

我已经按照这些步骤编写了我的规则;

  1. 我的查询字符串是

SELECT * FROM '+/state'

  1. 我的操作是重新发布所有内容,而不更改为下面这样的其他主题

$$aws/things/${topic(1)}/shadow/update

当我写一些静态数据而不是像“test”这样的 topic(1) 函数时,它可以工作。但是,我无法动态获取主题名称。没有合适的文档解释如何获得这个主题名称。

获取主题名称(在我的情况下为“12345678”)的正确方法是什么?

【问题讨论】:

  • 你能解释一下${topic(1)}是什么意思吗?每次更新事物时,我都会尝试发送 SNS。我已经让它工作了,但是 SNS 有效负载没有指定 哪个 东西被更新了。

标签: aws-iot


【解决方案1】:

实际上,使用下面这样的topic(1)函数获取主题名称是没有问题的;

$$aws/things/${topic(1)}/shadow/update

问题在于政策许可。在向我的策略添加必要的发布权限后。我开始获取有效载荷。

【讨论】:

    【解决方案2】:

    对于其他不知道为什么的人

    ${topic(1)}
    

    适用于 Arda,原因如下:

    https://docs.aws.amazon.com/iot/latest/developerguide/iot-substitution-templates.html
    

    原来您可以在重新发布主题字符串中执行“替换模板”。

    您的下一个问题将是确保分配给规则的角色附加了一个策略,允许它发布到 iot 核心主题(由于某种原因没有获得自动允许这样做的策略)。

    【讨论】:

      猜你喜欢
      • 2021-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-27
      • 2018-12-04
      • 1970-01-01
      • 1970-01-01
      • 2017-02-22
      相关资源
      最近更新 更多