1

RabbitMQ インスタンスへの接続に問題があります (接続するのは初めてです)。私は AWS でスピンアップし、アクセスできる管理パネルへのアクセス権を与えられました。

次のコードを使用して、python/pika の RabbitMQ サーバーに接続しようとしています。

import pika
import logging

logging.basicConfig(level=logging.DEBUG)

credentials = pika.PlainCredentials('*******', '**********')
parameters = pika.ConnectionParameters(host='a-25c34e4d-a3eb-32de-abfg-l95d931afc72f.mq.us-west-1.amazonaws.com',
                                       port=5671,
                                       virtual_host='/',
                                       credentials=credentials,
                                       )

connection = pika.BlockingConnection(parameters)

pika.exceptions.IncompatibleProtocolError: StreamLostError: ("Stream connection lost: ConnectionResetError(54, 'Connection reset by peer')",)上記を実行すると得られます。

4

1 に答える 1

5

AMQP プロトコルを介して接続しようとしていて、AWS が AMQPS を使用している場合、次のように接続パラメーターに ssl_options を追加する必要があります

import ssl

logging.basicConfig(level=logging.DEBUG)

credentials = pika.PlainCredentials('*******', '**********')
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
parameters = pika.ConnectionParameters(host='a-25c34e4d-a3eb-32de-abfg-l95d931afc72f.mq.us-west-1.amazonaws.com',
                                       port=5671,
                                       virtual_host='/',
                                       credentials=credentials,
                                       ssl_options=pika.SSLOptions(context)
                                       )

connection = pika.BlockingConnection(parameters)
于 2021-04-22T14:58:59.867 に答える