Compose Database-as-a-Service Help and Documentation

Everything you need to know about Compose, Hosted or Enterprise, is here in our help system. Whether you run one database for your businesses' sole application or six different databases to support an entire corporation, we've got the information you need.

Python and RabbitMQ

This code uses the pika library, as recommended by the RabbitMQ developers.

Connection Parameters and TLS/SSL

Pika provides a class that can make a connection directly from the connection string provided on the Overview of your deployment. To change the vhost in the connection string, change the final piece of the path to the vhost you wish to connect to.

TLS/SSL is set to "True" along with any additional options. The example sets the TLS version to TLSv1.2, the version supported by Compose.

Example Code

#!/usr/bin/env python
import pika
import sys
import ssl

# connection string and initialization
parameters = pika.URLParameters('amqps://user:[email protected]db.com:15845/harmonious-rabbitmq-33')
parameters.ssl = True
parameters.ssl_options = dict(ssl_version=ssl.PROTOCOL_TLSv1_2)


connection = pika.BlockingConnection(parameters)
channel = connection.channel()
connection = pika.BlockingConnection(parameters)
channel = connection.channel()

message='This is not a message, this is a pythonic tribute to a message'
my_routing_key='tributes'
exchange_name='postal'

channel.exchange_declare(exchange=exchange_name,
                         exchange_type='direct',
                         durable=True)


channel.basic_publish(exchange=exchange_name,
                      routing_key=my_routing_key,
                      body=message)

channel.close()
connection.close()

The example then connects to the deployment and posts a message to the postal exchange with the 'tributes' routing key.

If you wish to verify the example after it has run, and see the exchange or consume the message, see the Verifying Connections and Queue Activity page.


Still Need Help?

If this article didn't solve things, summon a human and get some help!

Updated about a year ago

Python and RabbitMQ


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.