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": false | true, // Should event delivery be retried. Default is false.
  "metadata": Payload, // can by any JSON payload,
  "data": Payload // can by 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>"
plain

Example

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

YAML

mqs:
  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