我是使用 C# 的rabbitmq 新手。我们正在尝试为 epex 点创建一个 API,它在传输标签协议中使用 AMQP,并为此使用 Rabbitmq。
我可以使用提供的凭据连接到 epex 点的服务器。
ConnectionFactory factory = new RabbitMQ.Client.ConnectionFactory();
可以创建频道
using (IConnection conn = factory.CreateConnection())
{
using (IModel channel = conn.CreateModel())
{
但是当我尝试 DeclareExchange 或 DeclareQueue 时,我收到错误消息:
AMQP操作被中断:AMQP关闭原因,由Peer发起,code = 403,text =“ACCESS_REFUSED - access to Exchange 'M7.broadcastQueue.username' in vhost 'app'拒绝用户'username'”,classId= 60,方法 ID=40
如果我尝试联系 epexspot 并请求许可,他们会说我们拥有所有必要的许可。你们能帮我解决这个问题吗?或者是否有人以前遇到过类似的问题?
您的权限设置不正确。必须运行此命令才能执行此操作:
rabbitmqctl set_permissions -p app username '.*' '.*' '.*'
无论“epexspot”是谁,都没有正确设置它们,或者试图限制该用户的读/写/配置权限。
我假设这也是您的信息。当此问题得到解决后,请在您提出此问题的所有地方跟进并提供有关解决方案的详细信息,以便其他人可以从中学习。
连接服务器时,丢失了一些重要信息。没有提供交换等信息。 这些信息激怒了授权部分,导致此错误不断出现。
谢谢你