Подписаться на сообщения MQTT от клиента AMQP на RabbitMQ?

Я запускаю узел RabbitMQ с включенными плагинами MQTT/WebMQTT. Все настройки плагина MQTT используют конфигурацию по умолчанию. Различные клиенты MQTT отправляют сообщения в каналы MQTT. Имена каналов MQTT имеют формат devices/{device_id_here}/{special_name_here}.

Я хочу подписаться на все сообщения MQTT, которые соответствуют devices/#/logs в MQTT. Как это сделать с помощью клиента AMQP на том же брокере, что и пользователи MQTT?

Я использую Bunny в качестве своего (Ruby) клиента AMQP.


person Rick    schedule 06.12.2017    source источник


Ответы (1)


Вы не можете использовать подстановочный знак # в середине подписки на тему MQTT, так как он может соответствовать нескольким уровням.

Правильный подстановочный знак — +, так как он соответствует только одному уровню в иерархии тем. Например.

device/+/logs
person hardillb    schedule 06.12.2017