问题描述
我想通过 Octopus 部署步骤设置一堆 rabbitMQ 交换和队列以及它们的绑定。我们正在使用 NServiceBus,我们不想给应用程序太多权限,因此它无法自行设置内容。
以前我们有一个用于设置虚拟主机和用户的 powershell 脚本,我一直在考虑扩展它,以便我们也可以创建队列、交换和绑定。此脚本使用 RabbitMQ REST API。 可以毫不费力地创建队列和交换,但绑定是另一回事。我找不到任何关于通过 HTTP 进行设置的合适文档。我读过一些内容,这不是做事的首选方式,但是在给定章鱼脚本的情况下,我可以使用哪些选项?
我要执行的代码是这样的:
http://localhost:15672/api/bindings/TestHost/e/nsb.delay-level-00/q/nsb.delay-level-00
交换名为 nsb.delay-level-00,队列名称相同。两者都存在于rabbitMQ虚拟主机中。
有什么想法吗?
解决方法
我发现,与创建队列和交换相反,在这种情况下,方法调用必须是 POST。
所以,POST http://localhost:15672/api/bindings/TestHost/e/nsb.delay-level-00/q/nsb.delay-level-00 工作正常。