To setup Azure Service Bus pubsub create a component of type pubsub.azure.servicebus
. See this guide on how to create and apply a pubsub configuration.
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: servicebus-pubsub
namespace: default
spec:
type: pubsub.azure.servicebus
version: v1
metadata:
- name: connectionString # Required
value: "Endpoint=sb://{ServiceBusNamespace}.servicebus.windows.net/;SharedAccessKeyName={PolicyName};SharedAccessKey={Key};EntityPath={ServiceBus}"
- name: timeoutInSec # Optional
value: 60
- name: handlerTimeoutInSec # Optional
value: 60
- name: disableEntityManagement # Optional
value: "false"
- name: maxDeliveryCount # Optional
value: 3
- name: lockDurationInSec # Optional
value: 60
- name: lockRenewalInSec # Optional
value: 20
- name: maxActiveMessages # Optional
value: 2000
- name: maxActiveMessagesRecoveryInSec # Optional
value: 2
- name: maxConcurrentHandlers # Optional
value: 10
- name: prefetchCount # Optional
value: 5
- name: defaultMessageTimeToLiveInSec # Optional
value: 10
- name: autoDeleteOnIdleInSec # Optional
value: 10
- name: maxReconnectionAttempts # Optional
value: 30
- name: connectionRecoveryInSec # Optional
value: 2
- name: publishMaxRetries # Optional
value: 5
- name: publishInitialRetryInternalInMs # Optional
value: 500
NOTE: The above settings are shared across all topics that use this component.
Field | Required | Details | Example |
---|---|---|---|
connectionString | Y | Connection-string for the Service Bus | “Endpoint=sb://{ServiceBusNamespace}.servicebus.windows.net/;SharedAccessKeyName={PolicyName};SharedAccessKey={Key};EntityPath={ServiceBus} ” |
timeoutInSec | N | Timeout for sending messages and management operations. Default: 60 | 30 |
handlerTimeoutInSec | N | Timeout for invoking app handler. # Optional. Default: 60 | 30 |
disableEntityManagement | N | When set to true, topics and subscriptions do not get created automatically. Default: "false" | "true" , "false" |
maxDeliveryCount | N | Defines the number of attempts the server will make to deliver a message. Default set by server | 10 |
lockDurationInSec | N | Defines the length in seconds that a message will be locked for before expiring. Default set by server | 30 |
lockRenewalInSec | N | Defines the frequency at which buffered message locks will be renewed. Default: 20 . | 20 |
maxActiveMessages | N | Defines the maximum number of messages to be buffered or processing at once. Default: 10000 | 2000 |
maxActiveMessagesRecoveryInSec | N | Defines the number of seconds to wait once the maximum active message limit is reached. Default: 2 | 10 |
maxConcurrentHandlers | N | Defines the maximum number of concurrent message handlers | 10 |
prefetchCount | N | Defines the number of prefetched messages (use for high throughput / low latency scenarios) | 5 |
defaultMessageTimeToLiveInSec | N | Default message time to live. | 10 |
autoDeleteOnIdleInSec | N | Time in seconds to wait before auto deleting messages. | 10 |
maxReconnectionAttempts | N | Defines the maximum number of reconnect attempts. Default: 30 | 30 |
connectionRecoveryInSec | N | Time in seconds to wait between connection recovery attempts. Defaults: 2 | 2 |
publishMaxRetries | N | The max number of retries for when Azure Service Bus responds with “too busy” in order to throttle messages. Defaults: 5 | 5 |
publishInitialRetryInternalInMs | N | Time in milliseconds for the initial exponential backoff when Azure Service Bus throttle messages. Defaults: 500 | 500 |
Follow the instructions here on setting up Azure Service Bus Topics.