RabbitMQ binding spec
Detailed documentation on the RabbitMQ binding component
Setup Dapr component
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: <NAME>
namespace: <NAMESPACE>
spec:
type: bindings.rabbitmq
version: v1
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.
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:
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
Related links
- Bindings building block
- How-To: Trigger application with input binding
- How-To: Use bindings to interface with external resources
- Bindings API reference
Last modified February 16, 2021: Merge pull request #1235 from dapr/update-v0.11 (b4e9fbb)