Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 通过NodeJS从RabbitMQ获取交换、绑定和队列的列表_Node.js_Rabbitmq_Node Amqplib - Fatal编程技术网

Node.js 通过NodeJS从RabbitMQ获取交换、绑定和队列的列表

Node.js 通过NodeJS从RabbitMQ获取交换、绑定和队列的列表,node.js,rabbitmq,node-amqplib,Node.js,Rabbitmq,Node Amqplib,有时需要通过NodeJS在RabbitMQ上重新创建绑定和队列。我需要按程序解除绑定、清除和删除它们。我可以保存我所做的并在以后恢复。我使用amqplib。它混淆了它没有提供可以列出它们的功能。 可能吗?缺少它的原因是什么?amqplib不支持从RabbitMQ获取交换、绑定和队列列表,因为这不是AMQP协议的一部分 RabbitMQ确实提供了一个包含基于HTTP的API的API。或者,您可以单独维护一个交换、队列和绑定的列表,并使用node来断言这些,但是您仍然无法使用amqplib断言vho

有时需要通过NodeJS在RabbitMQ上重新创建绑定和队列。我需要按程序解除绑定、清除和删除它们。我可以保存我所做的并在以后恢复。我使用amqplib。它混淆了它没有提供可以列出它们的功能。
可能吗?缺少它的原因是什么?

amqplib不支持从RabbitMQ获取交换、绑定和队列列表,因为这不是AMQP协议的一部分

RabbitMQ确实提供了一个包含基于HTTP的API的API。或者,您可以单独维护一个交换、队列和绑定的列表,并使用node来断言这些,但是您仍然无法使用amqplib断言vhost、用户和策略。相反,您必须安装前面提到的管理插件并使用HTTP

像(免责声明-我是作者)这样的库也为自动创建RabbitMQ对象提供了有限的功能。Rascal可以配置为在应用程序启动时断言vHost(使用http)、交换、队列和绑定(使用amqplib),但不会删除额外的对象,并且当前无法创建用户或策略

另一个选项是备份和恢复RabbitMQ的整个配置。我只使用了管理UI来实现这一点,但HTTP API可能支持它。但是,这同样不会删除备份后添加的对象

为了完整性,您可以使用RabbitMQ命令行工具来断言配置。Puppet、Chef和Ansible等工具经常用于自动化此操作,但考虑到您询问了node/amqplib,我认为这是不可接受的


使用上述任何方法重新定义现有对象(例如,更改exchange类型或向队列添加不同的x属性)的任何尝试都将失败。

我已创建了一个与其他库是否支持该功能相关的问题?