RabbitMQの資格情報が有効であることを確認するために、展開後に実行する簡単なスモークテストを記述したいと思います。 rabbitmqユーザー名/パスワード/ vhostが有効であることを確認する最も簡単な方法は何ですか?
編集:できれば、bashスクリプトを使用して確認してください。または、Pythonスクリプトを使用します。
言語などの詳細を提供していないので:
管理APIにHTTP GETリクエストを発行するだけです。
$ curl -i -u guest:guest http://localhost:15672/api/whoami
Pythonを使用して確認する方法は次のとおりです。
#!/usr/bin/env python
import socket
from kombu import Connection
Host = "localhost"
port = 5672
user = "guest"
password = "guest"
vhost = "/"
url = 'amqp://{0}:{1}@{2}:{3}/{4}'.format(user, password, Host, port, vhost)
with Connection(url) as c:
try:
c.connect()
except socket.error:
raise ValueError("Received socket.error, "
"rabbitmq server probably isn't running")
except IOError:
raise ValueError("Received IOError, probably bad credentials")
else:
print "Credentials are valid"
rabbitmqctl
でも試すことができます。
rabbitmqctl authenticate_user username password
bashで戻りコードを確認してください。
pythonを使用:
>>> import pika
>>> URL = 'amqp://guest:guest@localhost:5672/%2F'
>>> parameters = pika.URLParameters(URL)
>>> connection = pika.BlockingConnection(parameters)
>>> connection.is_open
True
>>> connection.close()