使用“rabbitmqctl eval”rabbit_shovel_status:status()。'“我可以在我的rabbitmq服务器中获取铲子状态。
我激活了模块'rabbitmq_shovel'和'rabbitmq_shovel_management'。
我使用HTTP API创建了一些动态铲子,我遇到的问题是,我希望能够使用HTTP API获取铲子的状态,但我找不到这样做的方法。 / p>
有没有办法使用HTTP API执行此操作?或者我应该使用'rabbitmqctl eval ...'?
我不想使用rabbitmqctl,因为我想在我自己的API中公开这些数据,所以我的应用程序应该能够访问它,而不必创建'exec'。
答案 0 :(得分:5)
是的,您可以使用:
http://localhost:15672/api/shovels
你必须安装: rabbitmq_shovel_management
结果是json,如:
[
{
"node":"rabbit@gabrieleMacBook",
"timestamp":"2015-06-02 15:34:27",
"name":"test",
"vhost":"/",
"type":"dynamic",
"state":"running",
"definition":{
"src-queue":"test",
"dest-queue":"test2"
},
"src_uri":"amqp://xxxxxxx",
"dest_uri":"amqp://xxxxxxx"
}
]
答案 1 :(得分:0)
如果你使用 C#,你可以像这样使用 HareDu:
var result = await _services.GetService<IBrokerObjectFactory>()
.GetAllShovels();
https://github.com/ahives/HareDu2/blob/master/docs/shovel-get.md