AWS IOT规则SQL msgpack

时间:2019-03-18 14:02:48

标签: aws-iot msgpack

设备可以发送两种格式的消息:JSON和MessagePack。我尝试从物联网规则中猜出来。我编写了下一个SQL:

SELECT
  topic(5) as event_name,
  isUndefined(device) as msgpack,
  case isUndefined(device)
    when true then encode(*, 'base64') 
    when false then * as encoded_data
FROM 'some_prefix/+/+/+/+'

我的想法基于以下逻辑:如果数据为JSON格式,则它应始终具有device字段(它确实具有)。否则,它是MessagePack。

它与JSON数据配合使用并在false字段中返回msgpack,但不适用于MessagePack。似乎根本没有处理消息。我在“成功”操作或fallback中都看不到它们。我也没有注意到CloudWatch中的任何错误。

我想知道:

  • 我的规则有什么问题?
  • 还有另一种方法可以执行上述操作吗?

0 个答案:

没有答案