Guides

Publish from RabbitMQ

This guide provides information on using RabbitMQ to publish events to Outpost.

Message Structure

RabbitMQ messages should have the same payload structure as the Publish API endpoint.

{ "tenant_id": "<TENANT_ID>", "destination_id": "<DESTINATION_ID>", // Optional. Provide a way of routing events to a specific destination "topic": "topic.name", // Topic defined in TOPICS environment variable "eligible_for_retry": true | false, // Should event delivery be retried? Default is true. "metadata": Payload, // can be any JSON payload, "data": Payload // can be any JSON payload }
json

Configuration

Provide Outpost with connection and routing information for your RabbitMQ instance used for publishing events.

Environment Variables

PUBLISH_RABBITMQ_SERVER_URL="<SERVER_URL>" PUBLISH_RABBITMQ_EXCHANGE="<EXCHANGE_NAME>" PUBLISH_RABBITMQ_QUEUE="<QUEUE_NAME>"

Example

PUBLISH_RABBITMQ_SERVER_URL="amqp://guest:guest@localhost:5673" PUBLISH_RABBITMQ_EXCHANGE="outpost" PUBLISH_RABBITMQ_QUEUE="publish"

YAML

publishmq: publishmq: rabbitmq: server_url: <SERVER_URL> exchange: <EXCHANGE_NAME> queue: <QUEUE_NAME>
yaml

Example

publishmq: rabbitmq: server_url: amqp://guest:guest@localhost:5673 exchange: outpost queue: publish
yaml

Troubleshooting