AWS IOT правила SQL msgpack - PullRequest
       7

AWS IOT правила SQL msgpack

0 голосов
/ 18 марта 2019

Устройство может отправлять сообщения в двух форматах: JSON и MessagePack.Я пытаюсь угадать это из правила IOT.Я написал следующий 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.Похоже, сообщения не обрабатываются вообще.Я не вижу их ни в «успехе», ни в «1009».Я также не заметил никаких ошибок в CloudWatch.

Я хотел бы знать:

  • что не так с моим правилом?
  • Есть ли другой способ сделать то, что я описал выше?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...