【问题标题】:Is it possible to retrieve topic name inside a Lambda function called by an Iot rule是否可以在 Iot 规则调用的 Lambda 函数中检索主题名称
【发布时间】:2022-04-08 14:43:49
【问题描述】:

我有一个由 IoT 规则调用的 lambda 函数,我想知道这个 lambda 函数内部的主题名称。

到目前为止,我只能从event 参数中检索消息数据。 context 参数中也没有任何内容。

我没有在文档中找到任何东西......

这甚至可能吗?

【问题讨论】:

  • 它应该在事件对象中,字符串化并在调用lambda时记录事件“console.log(JSON.stringify(event))”并在cloudwatch中查看日志。这可能会向您显示您需要在哪里寻找主题。
  • 不,我已经这样做了,它不在事件对象中......

标签: amazon-web-services aws-lambda aws-iot


【解决方案1】:

您需要在 AWS IoT SQL 查询中使用 topic() 函数。像这样:

SELECT * as data, topic() as topic FROM 'desired/+/topic'

在这种情况下,您的活动将在“数据”字段中包含原始消息,在“主题”字段中包含使用的主题。您也可以在 topic() 函数中使用整数作为参数,只返回子组。

更多数据见官方文档:http://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-functions.html#iot-function-topic

【讨论】:

    猜你喜欢
    • 2017-07-24
    • 2017-04-05
    • 1970-01-01
    • 2016-01-09
    • 2017-02-22
    • 2017-10-20
    • 1970-01-01
    • 2016-08-09
    • 2017-09-21
    相关资源
    最近更新 更多