Как подключить pika к удаленному серверу rabbitMQ? (питон, пищуха)

На моей локальной машине я могу иметь:

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))

для обоих сценариев (send.py и recv.py), чтобы установить надлежащую связь, но как насчет установления связи с 12.23.45.67 по 132.45.23.14? Я знаю обо всех параметрах, которые принимает ConnectionParameters(), но я не уверен, что передать хосту или что передать клиенту. Было бы признательно, если бы кто-нибудь мог привести пример скрипта хоста и скрипта клиента.


person Eriel Marimon    schedule 06.01.2015    source источник


Ответы (2)


См. http://pika.readthedocs.org/en/latest/modules/parameters.html, где указано 'rabbit-server1', вы должны ввести имя удаленного хоста IP.

Имейте в виду, что учетная запись guest может подключаться только через локальный хост https://www.rabbitmq.com/access-control.html

person old_sound    schedule 07.01.2015
comment
не могли бы вы привести пример для хост-скрипта и еще один для клиентского скрипта, по крайней мере, для части подключения. Это помогло мне понять, как это работает, но на самом деле не объясняет специфику соединения. - person Eriel Marimon; 07.01.2015
comment
Проблема решена, спасибо за помощь, она привела меня к решению. Как говорится во второй ссылке, файл rabbitmq.config необходимо изменить, а затем перезапустить сервер, чтобы принимать удаленные хосты в качестве «гостя» пользователя rabbitmq. - person Eriel Marimon; 07.01.2015

первый шаг — добавить еще одну учетную запись на ваш сервер rabbitMQ. Чтобы сделать это в окнах...

  1. открыть окно командной строки (клавиша windows->cmd->enter)
  2. перейдите в каталог «C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.2\sbin» (введите «cd \Program Files\RabbitMQ Server\rabbitmq_server-3.6.2\sbin» и нажмите Enter)
  3. включить плагин управления (введите «rabbitmq-plugins enable rabbitmq_management» и нажмите Enter)
  4. откройте окно браузера в консоли управления и перейдите в раздел администратора (http://localhost:15672/#/users с учетными данными "гость" - "гость")
  5. добавить нового пользователя (например, "the_user" с паролем "the_pass"
  6. дайте этому пользователю разрешение на виртуальный хост "/" (щелкните имя пользователя, затем нажмите "установить разрешение")

Теперь, если вы измените информацию о подключении, как это сделано в следующей модификации send.py, вы должны добиться успеха:

#!/usr/bin/env python
import pika

credentials = pika.PlainCredentials('the_user', 'the_pass')
parameters = pika.ConnectionParameters('132.45.23.14',
                                   5672,
                                   '/',
                                   credentials)

connection = pika.BlockingConnection(parameters)

channel = connection.channel()

channel.queue_declare(queue='hello')

channel.basic_publish(exchange='',
                  routing_key='hello',
                  body='Hello W0rld!')
print(" [x] Sent 'Hello World!'")
connection.close()

Надеюсь это поможет

person HyperActive    schedule 12.06.2016