Node.js 通过NodeJS从RabbitMQ获取交换、绑定和队列的列表
有时需要通过NodeJS在RabbitMQ上重新创建绑定和队列。我需要按程序解除绑定、清除和删除它们。我可以保存我所做的并在以后恢复。我使用amqplib。它混淆了它没有提供可以列出它们的功能。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
可能吗?缺少它的原因是什么?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属性)的任何尝试都将失败。我已创建了一个与其他库是否支持该功能相关的问题?