Microsoft.ServiceBus namespaces

Bicep resource definition

The namespaces 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 resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    alternateName: 'string'
    disableLocalAuth: bool
    encryption: {
      keySource: 'Microsoft.KeyVault'
      keyVaultProperties: [
        {
          identity: {
            userAssignedIdentity: 'string'
          }
          keyName: 'string'
          keyVaultUri: 'string'
          keyVersion: 'string'
        }
      ]
      requireInfrastructureEncryption: bool
    }
    minimumTlsVersion: 'string'
    premiumMessagingPartitions: int
    privateEndpointConnections: [
      {
        properties: {
          privateEndpoint: {
            id: 'string'
          }
          privateLinkServiceConnectionState: {
            description: 'string'
            status: 'string'
          }
          provisioningState: 'string'
        }
      }
    ]
    publicNetworkAccess: 'string'
    zoneRedundant: bool
  }
  sku: {
    capacity: int
    name: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Property values

ConnectionState

Name Description Value
description Description of the connection state. string
status Status of the connection. 'Approved'
'Disconnected'
'Pending'
'Rejected'

Encryption

Name Description Value
keySource Enumerates the possible value of keySource for Encryption 'Microsoft.KeyVault'
keyVaultProperties Properties of KeyVault KeyVaultProperties[]
requireInfrastructureEncryption Enable Infrastructure Encryption (Double Encryption) bool

Identity

Name Description Value
type Type of managed service identity. 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities Properties for User Assigned Identities IdentityUserAssignedIdentities

IdentityUserAssignedIdentities

Name Description Value

KeyVaultProperties

Name Description Value
identity UserAssignedIdentityProperties
keyName Name of the Key from KeyVault string
keyVaultUri Uri of KeyVault string
keyVersion Version of KeyVault string

Microsoft.ServiceBus/namespaces

Name Description Value
identity Properties of BYOK Identity description Identity
location The Geo-location where the resource lives string (required)
name The resource name string (required)
properties Properties of the namespace. SBNamespaceProperties
sku Properties of SKU SBSku
tags Resource tags Dictionary of tag names and values. See Tags in templates

PrivateEndpoint

Name Description Value
id The ARM identifier for Private Endpoint. string

PrivateEndpointConnection

Name Description Value
properties Properties of the PrivateEndpointConnection. PrivateEndpointConnectionProperties

PrivateEndpointConnectionProperties

Name Description Value
privateEndpoint The Private Endpoint resource for this Connection. PrivateEndpoint
privateLinkServiceConnectionState Details about the state of the connection. ConnectionState
provisioningState Provisioning state of the Private Endpoint Connection. 'Canceled'
'Creating'
'Deleting'
'Failed'
'Succeeded'
'Updating'

SBNamespaceProperties

Name Description Value
alternateName Alternate name for namespace string
disableLocalAuth This property disables SAS authentication for the Service Bus namespace. bool
encryption Properties of BYOK Encryption description Encryption
minimumTlsVersion The minimum TLS version for the cluster to support, e.g. '1.2' '1.0'
'1.1'
'1.2'
premiumMessagingPartitions The number of partitions of a Service Bus namespace. This property is only applicable to Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4 int
privateEndpointConnections List of private endpoint connections. PrivateEndpointConnection[]
publicNetworkAccess This determines if traffic is allowed over public network. By default it is enabled. 'Disabled'
'Enabled'
'SecuredByPerimeter'
zoneRedundant Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones. bool

SBSku

Name Description Value
capacity Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity values are 4, 8, 16, 32 and 64 int
name Name of this SKU. 'Basic'
'Premium'
'Standard' (required)
tier The billing tier of this particular SKU. 'Basic'
'Premium'
'Standard'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

UserAssignedIdentityProperties

Name Description Value
userAssignedIdentity ARM ID of user Identity selected for encryption string

Quickstart samples

The following quickstart samples deploy this resource type.

Bicep File Description
Create a Service Bus namespace and queue This template enables you to deploy a Service Bus Standard namespace and a queue.
Create a Service Bus namespace Virtual Network rule This template enables you to deploy a Service Bus Premium namespace with Virtual Network rule
Create Azure Event Grid Custom Topic and Queue Subscription Creates an Azure Event Grid custom topic and a service bus queue subscription. Template originally authored by Markus Meyer.
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 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 resource, add the following JSON to your template.

{
  "type": "Microsoft.ServiceBus/namespaces",
  "apiVersion": "2024-01-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "alternateName": "string",
    "disableLocalAuth": "bool",
    "encryption": {
      "keySource": "Microsoft.KeyVault",
      "keyVaultProperties": [
        {
          "identity": {
            "userAssignedIdentity": "string"
          },
          "keyName": "string",
          "keyVaultUri": "string",
          "keyVersion": "string"
        }
      ],
      "requireInfrastructureEncryption": "bool"
    },
    "minimumTlsVersion": "string",
    "premiumMessagingPartitions": "int",
    "privateEndpointConnections": [
      {
        "properties": {
          "privateEndpoint": {
            "id": "string"
          },
          "privateLinkServiceConnectionState": {
            "description": "string",
            "status": "string"
          },
          "provisioningState": "string"
        }
      }
    ],
    "publicNetworkAccess": "string",
    "zoneRedundant": "bool"
  },
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property values

ConnectionState

Name Description Value
description Description of the connection state. string
status Status of the connection. 'Approved'
'Disconnected'
'Pending'
'Rejected'

Encryption

Name Description Value
keySource Enumerates the possible value of keySource for Encryption 'Microsoft.KeyVault'
keyVaultProperties Properties of KeyVault KeyVaultProperties[]
requireInfrastructureEncryption Enable Infrastructure Encryption (Double Encryption) bool

Identity

Name Description Value
type Type of managed service identity. 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities Properties for User Assigned Identities IdentityUserAssignedIdentities

IdentityUserAssignedIdentities

Name Description Value

KeyVaultProperties

Name Description Value
identity UserAssignedIdentityProperties
keyName Name of the Key from KeyVault string
keyVaultUri Uri of KeyVault string
keyVersion Version of KeyVault string

Microsoft.ServiceBus/namespaces

Name Description Value
apiVersion The api version '2024-01-01'
identity Properties of BYOK Identity description Identity
location The Geo-location where the resource lives string (required)
name The resource name string (required)
properties Properties of the namespace. SBNamespaceProperties
sku Properties of SKU SBSku
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.ServiceBus/namespaces'

PrivateEndpoint

Name Description Value
id The ARM identifier for Private Endpoint. string

PrivateEndpointConnection

Name Description Value
properties Properties of the PrivateEndpointConnection. PrivateEndpointConnectionProperties

PrivateEndpointConnectionProperties

Name Description Value
privateEndpoint The Private Endpoint resource for this Connection. PrivateEndpoint
privateLinkServiceConnectionState Details about the state of the connection. ConnectionState
provisioningState Provisioning state of the Private Endpoint Connection. 'Canceled'
'Creating'
'Deleting'
'Failed'
'Succeeded'
'Updating'

SBNamespaceProperties

Name Description Value
alternateName Alternate name for namespace string
disableLocalAuth This property disables SAS authentication for the Service Bus namespace. bool
encryption Properties of BYOK Encryption description Encryption
minimumTlsVersion The minimum TLS version for the cluster to support, e.g. '1.2' '1.0'
'1.1'
'1.2'
premiumMessagingPartitions The number of partitions of a Service Bus namespace. This property is only applicable to Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4 int
privateEndpointConnections List of private endpoint connections. PrivateEndpointConnection[]
publicNetworkAccess This determines if traffic is allowed over public network. By default it is enabled. 'Disabled'
'Enabled'
'SecuredByPerimeter'
zoneRedundant Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones. bool

SBSku

Name Description Value
capacity Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity values are 4, 8, 16, 32 and 64 int
name Name of this SKU. 'Basic'
'Premium'
'Standard' (required)
tier The billing tier of this particular SKU. 'Basic'
'Premium'
'Standard'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

UserAssignedIdentityProperties

Name Description Value
userAssignedIdentity ARM ID of user Identity selected for encryption string

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Connect to a Service Bus namespace via private endpoint

Deploy to Azure
This sample shows how to use configure a virtual network and private DNS zone to access a Service Bus namespace via private endpoint.
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
Create a Service Bus Geo-recovery

Deploy to Azure
This template allows you to configure Service Bus Geo-disaster recovery alias on premium SKU Namespaces.
Create a Service Bus namespace

Deploy to Azure
This template enables you to deploy a Service Bus namespace with a Basic/Standard SKU.
Create a Service Bus namespace and queue

Deploy to Azure
This template enables you to deploy a Service Bus Standard namespace and a queue.
Create a Service Bus namespace and queue authorization rule

Deploy to Azure
This template enables you to deploy a Service Bus Standard namespace, and authorization rules for both the namespace and a queue.
Create a Service Bus Namespace and Topic

Deploy to Azure
This template creates a Service Bus Namespace and Topic.
Create a Service Bus namespace IP Filter rule

Deploy to Azure
This template enables you to deploy a Service Bus Premium namespace with IP Filter rule
Create a Service Bus namespace Virtual Network rule

Deploy to Azure
This template enables you to deploy a Service Bus Premium namespace with Virtual Network rule
Create a Service Bus namespace, topic, and subscription

Deploy to Azure
This template enables you to deploy a Service Bus Standard namespace, a topic, and a subscription.
Create a Service Bus namespace, topic, subscription and Rule

Deploy to Azure
This template enables you to deploy a Service Bus Standard namespace, a topic, a subscription and a rule.
Create a Service Bus Premium Namespace and AuthorizationRule

Deploy to Azure
This template creates a Service Bus Premium Namespace and a namespace AuthorizationRule
Create a Service Bus Topic with Subscription and SQL Filter

Deploy to Azure
This template creates a Service Bus Namespace and Topic with a Subscription using a SQL Filter expression to recieve only the messages that match the defined SQL Filter Expression.
Create Azure Event Grid Custom Topic and Queue Subscription

Deploy to Azure
Creates an Azure Event Grid custom topic and a service bus queue subscription. Template originally authored by Markus Meyer.
Create Azure Event Grid Custom Topic Subscription

Deploy to Azure
Creates an Azure Event Grid custom topic and a service bus topic subscription. Template originally authored by Markus Meyer.
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.
EPiserverCMS in Azure

Deploy to Azure
This template allows you to create resources required for EpiServerCMS deployment in Azure
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 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 resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ServiceBus/namespaces@2024-01-01"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  location = "string"
  sku = {
    capacity = int
    name = "string"
    tier = "string"
  }
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      alternateName = "string"
      disableLocalAuth = bool
      encryption = {
        keySource = "Microsoft.KeyVault"
        keyVaultProperties = [
          {
            identity = {
              userAssignedIdentity = "string"
            }
            keyName = "string"
            keyVaultUri = "string"
            keyVersion = "string"
          }
        ]
        requireInfrastructureEncryption = bool
      }
      minimumTlsVersion = "string"
      premiumMessagingPartitions = int
      privateEndpointConnections = [
        {
          properties = {
            privateEndpoint = {
              id = "string"
            }
            privateLinkServiceConnectionState = {
              description = "string"
              status = "string"
            }
            provisioningState = "string"
          }
        }
      ]
      publicNetworkAccess = "string"
      zoneRedundant = bool
    }
  })
}

Property values

ConnectionState

Name Description Value
description Description of the connection state. string
status Status of the connection. 'Approved'
'Disconnected'
'Pending'
'Rejected'

Encryption

Name Description Value
keySource Enumerates the possible value of keySource for Encryption 'Microsoft.KeyVault'
keyVaultProperties Properties of KeyVault KeyVaultProperties[]
requireInfrastructureEncryption Enable Infrastructure Encryption (Double Encryption) bool

Identity

Name Description Value
type Type of managed service identity. 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities Properties for User Assigned Identities IdentityUserAssignedIdentities

IdentityUserAssignedIdentities

Name Description Value

KeyVaultProperties

Name Description Value
identity UserAssignedIdentityProperties
keyName Name of the Key from KeyVault string
keyVaultUri Uri of KeyVault string
keyVersion Version of KeyVault string

Microsoft.ServiceBus/namespaces

Name Description Value
identity Properties of BYOK Identity description Identity
location The Geo-location where the resource lives string (required)
name The resource name string (required)
properties Properties of the namespace. SBNamespaceProperties
sku Properties of SKU SBSku
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.ServiceBus/namespaces@2024-01-01"

PrivateEndpoint

Name Description Value
id The ARM identifier for Private Endpoint. string

PrivateEndpointConnection

Name Description Value
properties Properties of the PrivateEndpointConnection. PrivateEndpointConnectionProperties

PrivateEndpointConnectionProperties

Name Description Value
privateEndpoint The Private Endpoint resource for this Connection. PrivateEndpoint
privateLinkServiceConnectionState Details about the state of the connection. ConnectionState
provisioningState Provisioning state of the Private Endpoint Connection. 'Canceled'
'Creating'
'Deleting'
'Failed'
'Succeeded'
'Updating'

SBNamespaceProperties

Name Description Value
alternateName Alternate name for namespace string
disableLocalAuth This property disables SAS authentication for the Service Bus namespace. bool
encryption Properties of BYOK Encryption description Encryption
minimumTlsVersion The minimum TLS version for the cluster to support, e.g. '1.2' '1.0'
'1.1'
'1.2'
premiumMessagingPartitions The number of partitions of a Service Bus namespace. This property is only applicable to Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4 int
privateEndpointConnections List of private endpoint connections. PrivateEndpointConnection[]
publicNetworkAccess This determines if traffic is allowed over public network. By default it is enabled. 'Disabled'
'Enabled'
'SecuredByPerimeter'
zoneRedundant Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones. bool

SBSku

Name Description Value
capacity Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity values are 4, 8, 16, 32 and 64 int
name Name of this SKU. 'Basic'
'Premium'
'Standard' (required)
tier The billing tier of this particular SKU. 'Basic'
'Premium'
'Standard'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

UserAssignedIdentityProperties

Name Description Value
userAssignedIdentity ARM ID of user Identity selected for encryption string