【问题标题】:RabbitMQ bind queue to exchange through API failing with 404 errorRabbitMQ 绑定队列以通过 API 交换失败并出现 404 错误
【发布时间】:2014-02-17 23:52:36
【问题描述】:

我正在尝试使用 RabbitMQ API 将 vhost 中的队列绑定到交换,但出现 404 错误。

fiddler 的命令结果是:

POST http://localhost:15672/api/bindings/dev.jhilden_client/AuthComplete.EPCIS/AuthComplete HTTP/1.1
Authorization: Basic Z3Vlc3Q6Z3Vlc3Q=
User-Agent: Mozilla/5.0 (Windows NT; Windows NT 6.3; en-US) WindowsPowerShell/4.0
Content-Type: application/json
Host: localhost:15672
Content-Length: 33

{"routing_key":"","arguments":[]}

虚拟主机、队列和交换都已经存在。

我创建了一个运行所有 rabbitMQ 设置的 powershell 脚本,其最后一步是创建此绑定并且该绑定失败。您可以轻松运行脚本并获取错误。任何帮助将不胜感激。

https://github.com/jayhilden/RabbitMQSetup/blob/master/rabbitMQSetup.ps1

【问题讨论】:

    标签: api rabbitmq


    【解决方案1】:

    问题是我从旧版本的 API 中脱离了文档。正确的 POST 命令是:/api/bindings/{vhost}/e/{exchange}/q/{queue}

    这是正确的 API 文档:

    http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v3_2_3/priv/www/api/index.html

    我已经在此处放置了用于创建虚拟主机、创建交换、创建队列和绑定队列的完整 powershell 脚本:

    https://github.com/jayhilden/RabbitMQSetup/blob/master/rabbitMQSetup.ps1

    希望其他人会发现它有用。

    【讨论】:

    • 很好的答案!非常感谢。