我已将lambda配置为IOT规则。 MQTT主题将获取二进制数据,并且在数据到达时规则应该调用lambda。
当我发布普通的JSON数据时会调用lambda,但如果我发布任何二进制数据,则不会调用lambda。
但与此同时,我能够通过我的独立消费者使用发布到MQTT的二进制数据,并能够成功地对其进行反序列化。
那么我在这里失踪的是什么?
答案 0 :(得分:3)
当消息有效负载应作为原始二进制数据(而不是JSON对象)处理时,您可以使用*运算符在SELECT子句中引用它。
按规则执行此操作:
SELECT encode(*,' base64')AS数据,时间戳()AS ts FROM' a / b'
这样会调用它。
https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-select.html