Публикация в обмене rabbitmq по умолчанию с помощью HTTP api
поэтому я использую rabbitmqs http api для выполнения некоторых очень простых действий в rabbit. Он отлично работает в большинстве ситуаций, но у меня проблема с тем, как использовать его для публикации сообщения в обмене rabbitmq по умолчанию. Этот обмен всегда присутствует, не может быть удален и имеет привязку к каждой очереди с ключом маршрутизации, равным имени очереди.
моя проблема в том, что у этой очереди нет имени, или, скорее, это имя-пустая строка "". И URL, который я должен использовать для опубликуйте это сообщение с помощью HTTP api, содержащего имя exchange.
http://localhost:15672/api/exchanges/vhost/name/publish (Источник: http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v3_3_4/priv/www/api/index.html)
в той же статье упоминается, что для использования vhost по умолчанию, который имеет имя"/", необходимо использовать %2f вместо имени vhost. Это заставляет меня думать, что должен быть аналогичный способ представления обмен глухими в url-адресе.
Я пробовал несколько разных вещей, и ни одна из них не работала:
/api/exchanges/vhost//publish
/api/exchanges/vhost/""/publish
/api/exchanges/vhost/''/publish
/api/exchanges/vhost/ /publish
/api/exchanges/vhost/%00/publish
Я уверен, что я не могу быть единственным человеком, который столкнулся с этой проблемой. любая помощь будет высоко ценится.
спасибо, Тома
1 ответов
Это способ опубликовать сообщение amq.default
:
http://localhost:15672/api/exchanges/%2f/amq.по умолчанию / publish
С
{"properties":{},
"routing_key":"queue_test",
"payload":"message test ",
"payload_encoding":"string"}
routing_key
- это очередь, в которой вы опубликуете сообщение.
следующий пример использования плагина chrome: