Теги маршрутизации сообщений Azure IOT HUB с пробелами или точками

#azure #routes #message #azure-iot-hub

#azure #маршруты #Сообщение #azure-iot-hub

Вопрос:

Мой IOT hub получает сообщение телеметрии от kepserver в формате

     {
    "CNC-Model_Performance.CNC-Model_KPI-Prameters.Station_Idle":false,
    "CNC-Model_Performance.CNC-Model_KPI-Prameters.Ideal_Cycle_time":120,
    "CNC-Model_Parameters.CNC-Model_Prameters-Alarms.Alarms.SPINDLE MPCB TRIPPED":false,
    "CNC-Model_Parameters.CNC-Model_Prameters-Alarms.Parameters.Coolant Temperature":0,
    "CNC-Model_Parameters.CNC-Model_Prameters-Alarms.Alarms.Hydraulic Motor   Current is High":false,
    "CNC-Model_Parameters.CNC-Model_Prameters-Alarms.Parameters.Incoming Voltage":0
    }
 

Мне нужно направить данные на служебную шину, если значение MPCB ШПИНДЕЛЯ ОТКЛЮЧЕНО верно или ток гидравлического двигателя высокий, верно.
Я не могу указать правильный синтаксис маршрута, поскольку в тегах присутствуют точки и пробелы, и я не могу их переопределить. Итак, ставим условие следующим образом
$body.CNC-Model_Parameters.CNC-Model_Prameters-Alarms.Alarms.SPINDLE MPCB TRIPPED = true не работает .
Есть идеи?

Комментарии:

1. вы пробовали что-то вроде $body["CNC-Model_Parameters.CNC-Model_Prameters-Alarms.Alarms.SPINDLE MPCB TRIPPED"] = true

2. Да, при проверке возникает синтаксическая ошибка.

Ответ №1:

Маршрутизация сообщения в теле с помощью ‘.’ и / или пробела в именах его свойств не поддерживается в Azure IoT Hub, см. Уже сообщенную проблему.

Пожалуйста, отправьте отзыв команде Azure IoT.