2014-09-25 2 views
1

Использование RabbitMQ C# API, как я могу проверить, существует ли привязка из заданной очереди к данному обмену?RabbitMQ C# API: Как проверить, существует ли привязка?

Многие вызовы RabbitMQ являются идемпотентными, поэтому некоторые люди могут сказать, что проверка не нужна для этих случаев, но я думаю, что они были бы полезны при тестировании.

+1

Если amqp не позволяет вам проверить это, вы можете использовать остаток кролика api http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v3_3_5/priv/www/api/index.html В частности , функция 'bindings' возвращает полный список существующих привязок. –

+0

@WiktorZychla Спасибо за предложение. Я надеялся, что смогу использовать C# API для этого, но если это не вариант, я попробую ваше предложение. – Anshul

+0

Не через клиентский API. Но, возможно, API управления: http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v3_3_4/priv/www/api/index.html –

ответ

2

Вы можете использовать их API REST для вызова и посмотреть, существует ли привязка.

У вас есть локальная копия справки API по адресу: your_server_name:15672/api/ или вы можете найти его на their online docs

Вы можете сделать GET вызов либо:

  • /api/exchanges/vhost
  • /name/bindings/destination

с соответствующими заменами там для обозначения имени или имени ,

Или вы могли бы просто позвонить:

  • /api/bindings

, чтобы получить все из них.

Оттуда вы должны проанализировать возвращаемый объект JSON.

Обратите внимание, что вам, скорее всего, придется пройти аутентификацию, но их примеры показывают, как это сделать.

Смежные вопросы