Microsoft.ServiceBus namespaces/topics/subscriptions

Bicep resource definition

The namespaces/topics/subscriptions resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.ServiceBus/namespaces/topics/subscriptions resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.ServiceBus/namespaces/topics/subscriptions@2024-01-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    autoDeleteOnIdle: 'string'
    clientAffineProperties: {
      clientId: 'string'
      isDurable: bool
      isShared: bool
    }
    deadLetteringOnFilterEvaluationExceptions: bool
    deadLetteringOnMessageExpiration: bool
    defaultMessageTimeToLive: 'string'
    duplicateDetectionHistoryTimeWindow: 'string'
    enableBatchedOperations: bool
    forwardDeadLetteredMessagesTo: 'string'
    forwardTo: 'string'
    isClientAffine: bool
    lockDuration: 'string'
    maxDeliveryCount: int
    requiresSession: bool
    status: 'string'
  }
}

Property values

Microsoft.ServiceBus/namespaces/topics/subscriptions

Name Description Value
name The resource name string

Constraints:
Min length = 1
Max length = 1 (required)
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: namespaces/topics
properties Properties of subscriptions resource. SBSubscriptionProperties

SBClientAffineProperties

Name Description Value
clientId Indicates the Client ID of the application that created the client-affine subscription. string
isDurable For client-affine subscriptions, this value indicates whether the subscription is durable or not. bool
isShared For client-affine subscriptions, this value indicates whether the subscription is shared or not. bool

SBSubscriptionProperties

Name Description Value
autoDeleteOnIdle ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes. string
clientAffineProperties Properties specific to client affine subscriptions. SBClientAffineProperties
deadLetteringOnFilterEvaluationExceptions Value that indicates whether a subscription has dead letter support on filter evaluation exceptions. bool
deadLetteringOnMessageExpiration Value that indicates whether a subscription has dead letter support when a message expires. bool
defaultMessageTimeToLive ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. string
duplicateDetectionHistoryTimeWindow ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes. string
enableBatchedOperations Value that indicates whether server-side batched operations are enabled. bool
forwardDeadLetteredMessagesTo Queue/Topic name to forward the Dead Letter message string
forwardTo Queue/Topic name to forward the messages string
isClientAffine Value that indicates whether the subscription has an affinity to the client id. bool
lockDuration ISO 8061 lock duration timespan for the subscription. The default value is 1 minute. string
maxDeliveryCount Number of maximum deliveries. int
requiresSession Value indicating if a subscription supports the concept of sessions. bool
status Enumerates the possible values for the status of a messaging entity. 'Active'
'Creating'
'Deleting'
'Disabled'
'ReceiveDisabled'
'Renaming'
'Restoring'
'SendDisabled'
'Unknown'

Quickstart samples

The following quickstart samples deploy this resource type.

Bicep File Description
Creates a Dapr microservices app using Container Apps Create a Dapr microservices app using Container Apps.
Creates a Dapr pub-sub servicebus app using Container Apps Create a Dapr pub-sub servicebus app using Container Apps.

ARM template resource definition

The namespaces/topics/subscriptions resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.ServiceBus/namespaces/topics/subscriptions resource, add the following JSON to your template.

{
  "type": "Microsoft.ServiceBus/namespaces/topics/subscriptions",
  "apiVersion": "2024-01-01",
  "name": "string",
  "properties": {
    "autoDeleteOnIdle": "string",
    "clientAffineProperties": {
      "clientId": "string",
      "isDurable": "bool",
      "isShared": "bool"
    },
    "deadLetteringOnFilterEvaluationExceptions": "bool",
    "deadLetteringOnMessageExpiration": "bool",
    "defaultMessageTimeToLive": "string",
    "duplicateDetectionHistoryTimeWindow": "string",
    "enableBatchedOperations": "bool",
    "forwardDeadLetteredMessagesTo": "string",
    "forwardTo": "string",
    "isClientAffine": "bool",
    "lockDuration": "string",
    "maxDeliveryCount": "int",
    "requiresSession": "bool",
    "status": "string"
  }
}

Property values

Microsoft.ServiceBus/namespaces/topics/subscriptions

Name Description Value
apiVersion The api version '2024-01-01'
name The resource name string

Constraints:
Min length = 1
Max length = 1 (required)
properties Properties of subscriptions resource. SBSubscriptionProperties
type The resource type 'Microsoft.ServiceBus/namespaces/topics/subscriptions'

SBClientAffineProperties

Name Description Value
clientId Indicates the Client ID of the application that created the client-affine subscription. string
isDurable For client-affine subscriptions, this value indicates whether the subscription is durable or not. bool
isShared For client-affine subscriptions, this value indicates whether the subscription is shared or not. bool

SBSubscriptionProperties

Name Description Value
autoDeleteOnIdle ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes. string
clientAffineProperties Properties specific to client affine subscriptions. SBClientAffineProperties
deadLetteringOnFilterEvaluationExceptions Value that indicates whether a subscription has dead letter support on filter evaluation exceptions. bool
deadLetteringOnMessageExpiration Value that indicates whether a subscription has dead letter support when a message expires. bool
defaultMessageTimeToLive ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. string
duplicateDetectionHistoryTimeWindow ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes. string
enableBatchedOperations Value that indicates whether server-side batched operations are enabled. bool
forwardDeadLetteredMessagesTo Queue/Topic name to forward the Dead Letter message string
forwardTo Queue/Topic name to forward the messages string
isClientAffine Value that indicates whether the subscription has an affinity to the client id. bool
lockDuration ISO 8061 lock duration timespan for the subscription. The default value is 1 minute. string
maxDeliveryCount Number of maximum deliveries. int
requiresSession Value indicating if a subscription supports the concept of sessions. bool
status Enumerates the possible values for the status of a messaging entity. 'Active'
'Creating'
'Deleting'
'Disabled'
'ReceiveDisabled'
'Renaming'
'Restoring'
'SendDisabled'
'Unknown'

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Correlating messages over Logic Apps using Service Bus

Deploy to Azure
which shows how we can correlate messages over Logic Apps using Azure Service Bus
Creates a Dapr microservices app using Container Apps

Deploy to Azure
Create a Dapr microservices app using Container Apps.
Creates a Dapr pub-sub servicebus app using Container Apps

Deploy to Azure
Create a Dapr pub-sub servicebus app using Container Apps.
Integration Patterns - Message Router - Service Bus

Deploy to Azure
Solution which shows how we can set up the Message Router pattern using a Service Bus Topic

Terraform (AzAPI provider) resource definition

The namespaces/topics/subscriptions resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.ServiceBus/namespaces/topics/subscriptions resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ServiceBus/namespaces/topics/subscriptions@2024-01-01"
  name = "string"
  body = jsonencode({
    properties = {
      autoDeleteOnIdle = "string"
      clientAffineProperties = {
        clientId = "string"
        isDurable = bool
        isShared = bool
      }
      deadLetteringOnFilterEvaluationExceptions = bool
      deadLetteringOnMessageExpiration = bool
      defaultMessageTimeToLive = "string"
      duplicateDetectionHistoryTimeWindow = "string"
      enableBatchedOperations = bool
      forwardDeadLetteredMessagesTo = "string"
      forwardTo = "string"
      isClientAffine = bool
      lockDuration = "string"
      maxDeliveryCount = int
      requiresSession = bool
      status = "string"
    }
  })
}

Property values

Microsoft.ServiceBus/namespaces/topics/subscriptions

Name Description Value
name The resource name string

Constraints:
Min length = 1
Max length = 1 (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: namespaces/topics
properties Properties of subscriptions resource. SBSubscriptionProperties
type The resource type "Microsoft.ServiceBus/namespaces/topics/subscriptions@2024-01-01"

SBClientAffineProperties

Name Description Value
clientId Indicates the Client ID of the application that created the client-affine subscription. string
isDurable For client-affine subscriptions, this value indicates whether the subscription is durable or not. bool
isShared For client-affine subscriptions, this value indicates whether the subscription is shared or not. bool

SBSubscriptionProperties

Name Description Value
autoDeleteOnIdle ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes. string
clientAffineProperties Properties specific to client affine subscriptions. SBClientAffineProperties
deadLetteringOnFilterEvaluationExceptions Value that indicates whether a subscription has dead letter support on filter evaluation exceptions. bool
deadLetteringOnMessageExpiration Value that indicates whether a subscription has dead letter support when a message expires. bool
defaultMessageTimeToLive ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. string
duplicateDetectionHistoryTimeWindow ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes. string
enableBatchedOperations Value that indicates whether server-side batched operations are enabled. bool
forwardDeadLetteredMessagesTo Queue/Topic name to forward the Dead Letter message string
forwardTo Queue/Topic name to forward the messages string
isClientAffine Value that indicates whether the subscription has an affinity to the client id. bool
lockDuration ISO 8061 lock duration timespan for the subscription. The default value is 1 minute. string
maxDeliveryCount Number of maximum deliveries. int
requiresSession Value indicating if a subscription supports the concept of sessions. bool
status Enumerates the possible values for the status of a messaging entity. 'Active'
'Creating'
'Deleting'
'Disabled'
'ReceiveDisabled'
'Renaming'
'Restoring'
'SendDisabled'
'Unknown'