Skip to content

Latest commit

 

History

History
61 lines (50 loc) · 1.97 KB

rabbitmq.md

File metadata and controls

61 lines (50 loc) · 1.97 KB

RabbitMQ Binding Spec

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: <NAME>
  namespace: <NAMESPACE>
spec:
  type: bindings.rabbitmq
  metadata:
  - name: queueName
    value: queue1
  - name: host
    value: amqp://[username][:password]@host.domain[:port]
  - name: durable
    value: true
  - name: deleteWhenUnused
    value: false
  - name: ttlInSeconds
    value: 60
  - name: prefetchCount
    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.

Note: In production never place passwords or secrets within Dapr components. For information on securely storing and retrieving secrets refer to Setup Secret Store

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:

curl -X POST http://localhost:3500/v1.0/bindings/myRabbitMQ \
  -H "Content-Type: application/json" \
  -d '{
        "data": {
          "message": "Hi"
        },
        "metadata": {
          "ttlInSeconds": "60"
        },
        "operation": "create"
      }'

Output Binding Supported Operations

  • create