4

使用“rabbitmqctl eval 'rabbit_shovel_status:status().'”我可以在我的 rabbitmq 服务器中获取铲子的状态。

我激活了模块“rabbitmq_shovel”和“rabbitmq_shovel_management”。

我使用 HTTP API 创建了一些动态铲子,我遇到的问题是,我希望能够使用 HTTP API 获取铲子的状态,但我找不到这样做的方法。

有没有办法使用 HTTP API 做到这一点?或者我应该使用'rabbitmqctl eval ...'?

我不想使用 rabbitmqctl,因为我想在我自己的 API 中公开这些数据,所以我的应用程序应该能够访问它,而不必创建一个“exec”。

4

2 回答 2

6

是的,您可以使用:

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"
   }
]
于 2015-06-02T13:46:16.893 回答
0

如果你使用 C#,你可以像这样使用 HareDu:

var result = await _services.GetService<IBrokerObjectFactory>()
    .GetAllShovels();

https://github.com/ahives/HareDu2/blob/master/docs/shovel-get.md

于 2021-04-07T21:44:55.987 回答