RabbitMQ binding spec

Detailed documentation on the RabbitMQ binding component

Setup Dapr component

  1. apiVersion: dapr.io/v1alpha1
  2. kind: Component
  3. metadata:
  4. name: <NAME>
  5. namespace: <NAMESPACE>
  6. spec:
  7. type: bindings.rabbitmq
  8. version: v1
  9. metadata:
  10. - name: queueName
  11. value: queue1
  12. - name: host
  13. value: amqp://[username][:password]@host.domain[:port]
  14. - name: durable
  15. value: true
  16. - name: deleteWhenUnused
  17. value: false
  18. - name: ttlInSeconds
  19. value: 60
  20. - name: prefetchCount
  21. value: 0
  • queueName is the RabbitMQ queue name.
  • host is the RabbitMQ host address.
  • durable tells RabbitMQ to persist message in storage.
  • deleteWhenUnused enables or disables auto-delete.
  • ttlInSeconds is an optional parameter to set the default message time to live at RabbitMQ queue level. If this parameter is omitted, messages won’t expire, continuing to exist on the queue until processed.
  • prefetchCount is an optional parameter to set the Channel Prefetch Setting (QoS). If this parameter is omiited, QoS would set value to 0 as no limit.

Warning

The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described here.

Specifying a time to live on message level

Time to live can be defined on queue level (as illustrated above) or at the message level. The value defined at message level overwrites any value set at queue level.

To set time to live at message level use the metadata section in the request body during the binding invocation.

The field name is ttlInSeconds.

Example:

  1. curl -X POST http://localhost:3500/v1.0/bindings/myRabbitMQ \
  2. -H "Content-Type: application/json" \
  3. -d '{
  4. "data": {
  5. "message": "Hi"
  6. },
  7. "metadata": {
  8. "ttlInSeconds": "60"
  9. },
  10. "operation": "create"
  11. }'

Output Binding Supported Operations

  • create

Related links

Last modified February 16, 2021: Merge pull request #1235 from dapr/update-v0.11 (b4e9fbb)