我已经为 IOT 规则配置了一个 lambda。 MQTT 主题将获取二进制数据,并且在数据到达时规则应调用 lambda。
当我发布普通 JSON 数据时,lambda 会被调用,但如果我发布任何二进制数据,lambda 不会被调用。
但与此同时,我能够通过我的独立消费者使用发布到 MQTT 的二进制数据,并能够成功反序列化它。
那么我在这里缺少什么?
最佳答案
当消息负载应作为原始二进制数据(而不是 JSON 对象)处理时,您可以使用 * 运算符在 SELECT 子句中引用它。
按照您的规则执行此操作:
SELECT encode(*, 'base64') AS data, timestamp() AS ts FROM 'a/b'
这样它就会被调用。
https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-select.html
关于amazon-web-services - 在 AWS IOT 中发布二进制数据时未调用 AWS Lambda?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49725894/