我是使用 c# 的rabbitmq 新手。我们正在尝试为 epex spot 创建 API,它在传输标签协议中使用 AMQP,并为此使用 Rabbitmq。
我可以使用提供的凭据连接到 epex spot 的服务器。
ConnectionFactory factory = new RabbitMQ.Client.ConnectionFactory();
能够创建频道
using (IConnection conn = factory.CreateConnection())
{
using (IModel channel = conn.CreateModel())
{
Run Code Online (Sandbox Code Playgroud)
但是当我尝试 DeclareExchange 或 DeclareQueue 时,我收到错误说明:
AMQP 操作被中断:AMQP close-reason,由 Peer 发起,code=403,text="ACCESS_REFUSED - access to exchange 'M7.broadcastQueue.username' in vhost 'app' denied for user 'username'", classId=60 , 方法 ID=40
如果我尝试联系 epexspot 并请求许可,他们会说我们拥有所有必要的许可。你们能帮我解决这个问题吗,或者如果有人以前遇到过类似的问题?
您的权限设置不正确。必须运行此命令才能执行此操作:
rabbitmqctl set_permissions -p app username '.*' '.*' '.*'
Run Code Online (Sandbox Code Playgroud)
“epexspot”没有正确设置它们,或者试图限制该用户的读/写/配置权限。
我假设这也是你的信息。解决后,请在您提出此问题的所有地方跟进有关解决方案的详细信息,以便其他人可以从中学习。
注:在RabbitMQ的团队监控的rabbitmq-users
邮件列表,只有时StackOverflow上回答问题。
归档时间: |
|
查看次数: |
4430 次 |
最近记录: |