Azure Service Bus Queues
Type: pubsub.azure.servicebus.queues
Status: stable
Reference: https://docs.dapr.io/reference/components-reference/supported-pubsub/setup-azure-servicebus-queues
Example
apiVersion: cra.diagrid.io/v1beta1
kind: Component
metadata:
name: <name>
spec:
type: pubsub.azure.servicebus.queues
version: v1
metadata:
# Shared access policy connection string for the Service Bus.
- name: connectionString
value: "Endpoint=sb://{ServiceBusNamespace}.servicebus.windows.net/;SharedAccessKeyName={PolicyName};SharedAccessKey={Key};EntityPath={ServiceBus}"
# Time in seconds to wait before auto deleting idle subscriptions. Used during subscription creation only. Default: `0` (disabled) (Optional)
#- name: autoDeleteOnIdleInSec
# value: "0"
# Set the consumer ID to control namespacing. Defaults to the app's ID. (Optional)
#- name: consumerID
# value: "{namespace}"
# Default message time to live, in seconds. Used during subscription creation only. (Optional)
#- name: defaultMessageTimeToLiveInSec
# value: "10"
# When set to true, queues and subscriptions do not get created automatically. Default: 'false' (Optional)
#- name: disableEntityManagement
# value: "false"
# Timeout for invoking the app’s handler. Default: 60 (Optional)
#- name: handlerTimeoutInSec
# value: "60"
# Defines the length in seconds that a message will be locked for before expiring. Used during subscription creation only. Default set by server. (Optional)
#- name: lockDurationInSec
# value: "5"
# Defines the frequency at which buffered message locks will be renewed. Default: 20. (Optional)
#- name: lockRenewalInSec
# value: "20"
# Defines the maximum number of messages to be processing or in the buffer at once. This should be at least as big as the maximum concurrent handlers. Default: 1000. (Optional)
#- name: maxActiveMessages
# value: "1000"
# Defines the maximum number of concurrent message handlers. Default: `0` (unlimited) (Optional)
#- name: maxConcurrentHandlers
# value: "0"
# Maximum interval (in seconds) to wait before attempting to reconnect to Azure Service Bus in case of a connection failure. After each attempt, the binding waits a random number of seconds, increasing every time, between the minimum and the maximum. Default is 300 seconds (5 minutes). (Optional)
#- name: maxConnectionRecoveryInSec
# value: "300"
# Defines the number of attempts the server will make to deliver a message. Used during subscription creation only. Default set by server. (Optional)
#- name: maxDeliveryCount
# value: "10"
# Maximum number of retriable errors that are processed per second. If a message fails to be processed with a retriable error, the component adds a delay before it starts processing another message, to avoid immediately re-processing messages that have failed (Optional)
#- name: maxRetriableErrorsPerSec
# value: "10"
# Minimum interval (in seconds) to wait before attempting to reconnect to Azure Service Bus in case of a connection failure. (Optional)
#- name: minConnectionRecoveryInSec
# value: "2"
# Time in milliseconds for the initial exponential backoff when Azure Service Bus throttle messages. Defaults: `500` (Optional)
#- name: publishInitialRetryIntervalInMs
# value: "500"
# The max number of retries for when Azure Service Bus responds with "too busy" in order to throttle messages. Defaults: `5` (Optional)
#- name: publishMaxRetries
# value: "5"
# Timeout for sending messages and for management operations. Default: 60 (Optional)
#- name: timeoutInSec
# value: "60"
Authentication profiles
Available authentication profiles:
-
Connection string
-
Azure AD: Client credentials
-
Azure AD: Client certificate
Connection string
Authenticate using a connection string.
connectionString
Required - Shared access policy connection string for the Service Bus. Used for input binding direction. Used for output binding direction.
Example value: Endpoint=sb://{ServiceBusNamespace}.servicebus.windows.net/;SharedAccessKeyName={PolicyName};SharedAccessKey={Key};EntityPath={ServiceBus}
Azure AD: Client credentials
Authenticate using Azure AD with client credentials, also known as "service principals".
azureClientId
Required - Client ID (application ID)
Example value: c7dd251f-811f-4ba2-a905-acd4d3f8f08b
azureClientSecret
Required - Client secret (application password)
Example value: Ecy3XG7zVZK3/vl/a2NSB+a1zXLa8RnMum/IgD0E
azureTenantId
Required - ID of the Azure AD tenant
Example value: cd4b2887-304c-47e1-b4d5-65447fdd542a
namespaceName
Required - Parameter to set the address of the Service Bus namespace, as a fully-qualified domain name. Used for input binding direction. Used for output binding direction.
Example value: namespace.servicebus.windows.net
azureEnvironment
Optional name for the Azure environment if using a different Azure cloud
Default value: AzurePublicCloud
Example value: AzurePublicCloud
Allowed values:
-
AzurePublicCloud
-
AzureChinaCloud
-
AzureUSGovernmentCloud
Azure AD: Client certificate
Authenticate using Azure AD with a client certificate. "azureCertificate" is required.
azureClientId
Required - Client ID (application ID)
Example value: c7dd251f-811f-4ba2-a905-acd4d3f8f08b
azureTenantId
Required - ID of the Azure AD tenant
Example value: cd4b2887-304c-47e1-b4d5-65447fdd542a
namespaceName
Required - Parameter to set the address of the Service Bus namespace, as a fully-qualified domain name. Used for input binding direction. Used for output binding direction.
Example value: namespace.servicebus.windows.net
azureCertificate
Certificate and private key (in either a PEM file containing both the certificate and key, or in PFX/PKCS#12 format)
Example value:
-----BEGIN PRIVATE KEY-----\n MIIEvgI... \n -----END PRIVATE KEY-----
\n -----BEGIN CERTIFICATE----- \n MIICoTC... \n -----END CERTIFICATE----- \n
azureCertificatePassword
Password for the certificate if encrypted.
Example value: password
azureEnvironment
Optional name for the Azure environment if using a different Azure cloud
Default value: AzurePublicCloud
Example value: AzurePublicCloud
Allowed values:
-
AzurePublicCloud
-
AzureChinaCloud
-
AzureUSGovernmentCloud
Metadata
autoDeleteOnIdleInSec
(number)
Time in seconds to wait before auto deleting idle subscriptions. Used during subscription creation only. Default: 0
(disabled)
Default value: 0
Example value: 3600
consumerID
(string)
Set the consumer ID to control namespacing. Defaults to the app's ID.
Example value: {namespace}
Documentation: https://docs.dapr.io/developing-applications/building-blocks/pubsub/pubsub-overview/#consumer-groups-and-competing-consumers-pattern
defaultMessageTimeToLiveInSec
(number)
Default message time to live, in seconds. Used during subscription creation only.
Example value: 10
disableEntityManagement
(bool)
When set to true, queues and subscriptions do not get created automatically. Default: 'false'
Default value: false
Example value: true
handlerTimeoutInSec
(number)
Timeout for invoking the app’s handler. Default: 60
Default value: 60
Example value: 30
lockDurationInSec
(number)
Defines the length in seconds that a message will be locked for before expiring. Used during subscription creation only. Default set by server.
Example value: 5
lockRenewalInSec
(number)
Defines the frequency at which buffered message locks will be renewed. Default: 20.
Default value: 20
Example value: 20
maxActiveMessages
(number)
Defines the maximum number of messages to be processing or in the buffer at once. This should be at least as big as the maximum concurrent handlers. Default: 1000.
Default value: 1000
Example value: 2000
maxConcurrentHandlers
(number)
Defines the maximum number of concurrent message handlers. Default: 0
(unlimited)
Default value: 0
Example value: 10
maxConnectionRecoveryInSec
(number)
Maximum interval (in seconds) to wait before attempting to reconnect to Azure Service Bus in case of a connection failure. After each attempt, the binding waits a random number of seconds, increasing every time, between the minimum and the maximum. Default is 300 seconds (5 minutes).
Default value: 300
Example value: 600
maxDeliveryCount
(number)
Defines the number of attempts the server will make to deliver a message. Used during subscription creation only. Default set by server.
Example value: 10
maxRetriableErrorsPerSec
(number)
Maximum number of retriable errors that are processed per second. If a message fails to be processed with a retriable error, the component adds a delay before it starts processing another message, to avoid immediately re-processing messages that have failed
Default value: 10
Example value: 2
minConnectionRecoveryInSec
(number)
Minimum interval (in seconds) to wait before attempting to reconnect to Azure Service Bus in case of a connection failure.
Default value: 2
Example value: 5
publishInitialRetryIntervalInMs
(number)
Time in milliseconds for the initial exponential backoff when Azure Service Bus throttle messages. Defaults: 500
Default value: 500
Example value: 1000
publishMaxRetries
(number)
The max number of retries for when Azure Service Bus responds with "too busy" in order to throttle messages. Defaults: 5
Default value: 5
Example value: 10
timeoutInSec
(number)
Timeout for sending messages and for management operations. Default: 60
Default value: 60
Example value: 30