如何通过 http api 获取 rabbitmq-shovel 的状态
How can I get the status of a rabbitmq-shovel by the http api
使用 "rabbitmqctl eval 'rabbit_shovel_status:status().'" 我可以在我的 rabbitmq 服务器中获取铲状态。
我激活了模块 'rabbitmq_shovel' 和 'rabbitmq_shovel_management'。
我使用 HTTP API 创建了一些动态铲子,我遇到的问题是,我希望能够使用 HTTP API 获取铲子的状态,但我可以想办法做到这一点。
有没有什么方法可以使用 HTTP API 来做到这一点?或者我应该使用 'rabbitmqctl eval ...'?
我不想使用 rabbitmqctl,因为我想在我自己的 API 中公开这些数据,所以我的应用程序应该能够访问它,而不必创建 'exec'.
是的,您可以使用:
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"
}
]
如果你使用的是C#,你可以像这样使用HareDu:
var result = await _services.GetService<IBrokerObjectFactory>()
.GetAllShovels();
https://github.com/ahives/HareDu2/blob/master/docs/shovel-get.md
使用 "rabbitmqctl eval 'rabbit_shovel_status:status().'" 我可以在我的 rabbitmq 服务器中获取铲状态。
我激活了模块 'rabbitmq_shovel' 和 'rabbitmq_shovel_management'。
我使用 HTTP API 创建了一些动态铲子,我遇到的问题是,我希望能够使用 HTTP API 获取铲子的状态,但我可以想办法做到这一点。
有没有什么方法可以使用 HTTP API 来做到这一点?或者我应该使用 'rabbitmqctl eval ...'?
我不想使用 rabbitmqctl,因为我想在我自己的 API 中公开这些数据,所以我的应用程序应该能够访问它,而不必创建 'exec'.
是的,您可以使用:
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"
}
]
如果你使用的是C#,你可以像这样使用HareDu:
var result = await _services.GetService<IBrokerObjectFactory>()
.GetAllShovels();
https://github.com/ahives/HareDu2/blob/master/docs/shovel-get.md