首页 > 解决方案 > 如何在 Rabitmq 中创建管理员并添加对 exchangename 和 Exchangetype 的权限

问题描述

这里在主题权限中我们应该在哪里添加交换类型和交换名称

>Overview
>Permissions
>Topic permissions
>Current topic permissions
>Virtual host   Exchange    Write regexp    Read regexp


Set topic permission:

Virtual Host: /
Exchange: (AMQP default)
Write regexp: .*
Read regexp: .*

这里在上图中,在设置主题权限中。我已将交换类型添加为“直接”,但我不明白什么是“正则表达式”。这是交换名称还是队列名称

实际上我还有另一个问题,当我运行直接交换消费者程序时,我收到如下错误

 File "directConsumer.py", line 47, in <module>
    main()
  File "directConsumer.py", line 13, in main
    connection = 
pika.BlockingConnection(pika.ConnectionParameters(mq_hostname, mq_port, 
'/', credentials))
  File "C:\Python38\lib\site-packages\pika\adapters\blocking_connection.py", line 360, in __init__
self._impl = self._create_connection(parameters, _impl_class)
  File "C:\Python38\lib\site- 
 packages\pika\adapters\blocking_connection.py", line 451, in 
_create_connection
pika.exceptions.IncompatibleProtocolError: StreamLostError: 
('Transport indicated EOF',)
PS C:\PythonFiles\RabbitMQExamples\directExchange> python 
directConsumer.py "orange"
Traceback (most recent call last):
  File "directConsumer.py", line 46, in <module>
    main()
  File "directConsumer.py", line 13, in main
    connection = 
pika.BlockingConnection(pika.ConnectionParameters(mq_hostname, 
mq_port, '/', credentials))
  File "C:\Python38\lib\site- 
 packages\pika\adapters\blocking_connection.py", line 360, in 
__init__
    self._impl = self._create_connection(parameters, _impl_class)
      File "C:\Python38\lib\site- 
  packages\pika\adapters\blocking_connection.py", 
    line 451, in _create_connection
        raise self._reap_last_connection_workflow_error(error)
pika.exceptions.IncompatibleProtocolError: StreamLostError: ('Transport 
indicated EOF',)
PS C:\PythonFiles\RabbitMQExamples\directExchange>

我收到此错误“StreamLostError:('传输指示 EOF',)”任何人都可以建议我有关此错误

标签: rabbitmq

解决方案


推荐阅读