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@2023-01-01-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  sku: {
    capacity: int
    name: 'string'
    tier: 'string'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  properties: {
    alternateName: 'string'
    disableLocalAuth: bool
    encryption: {
      keySource: 'Microsoft.KeyVault'
      keyVaultProperties: [
        {
          identity: {
            userAssignedIdentity: 'string'
          }
          keyName: 'string'
          keyVaultUri: 'string'
          keyVersion: 'string'
        }
      ]
      requireInfrastructureEncryption: bool
    }
    geoDataReplication: {
      locations: [
        {
          clusterArmId: 'string'
          locationName: 'string'
          roleType: 'string'
        }
      ]
      maxReplicationLagDurationInSeconds: int
    }
    minimumTlsVersion: 'string'
    premiumMessagingPartitions: int
    privateEndpointConnections: [
      {
        properties: {
          privateEndpoint: {
            id: 'string'
          }
          privateLinkServiceConnectionState: {
            description: 'string'
            status: 'string'
          }
          provisioningState: 'string'
        }
      }
    ]
    publicNetworkAccess: 'string'
    zoneRedundant: bool
  }
}

Property values

namespaces

Name Description Value
name The resource name string (required)

Character limit: 6-50

Valid characters:
Alphanumerics and hyphens.

Start with a letter. End with a letter or number.

For more information, see Create namespace.

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

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
{customized property} UserAssignedIdentity

UserAssignedIdentity

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

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
geoDataReplication Geo Data Replication settings for the namespace GeoDataReplicationProperties
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

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

KeyVaultProperties

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

UserAssignedIdentityProperties

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

GeoDataReplicationProperties

Name Description Value
locations A list of regions where replicas of the namespace are maintained. NamespaceReplicaLocation[]
maxReplicationLagDurationInSeconds The maximum acceptable lag for data replication operations from the primary replica to a quorum of secondary replicas. When the lag exceeds the configured amount, operations on the primary replica will be failed. The allowed values are 0 and 5 minutes to 1 day. int

NamespaceReplicaLocation

Name Description Value
clusterArmId Optional property that denotes the ARM ID of the Cluster. This is required, if a namespace replica should be placed in a Dedicated Event Hub Cluster string
locationName Azure regions where a replica of the namespace is maintained string
roleType GeoDR Role Types 'Primary'
'Secondary'

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'

PrivateEndpoint

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

ConnectionState

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

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'

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
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
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.
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 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

Deploy to Azure
This template enables you to deploy a Service Bus namespace with a Basic/Standard SKU.
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 and queue

Deploy to Azure
This template enables you to deploy a Service Bus Standard namespace and a queue.
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 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 Premium Namespace and AuthorizationRule

Deploy to Azure
This template creates a Service Bus Premium Namespace and a namespace AuthorizationRule
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.
Create a Service Bus Namespace and Topic

Deploy to Azure
This template creates a Service Bus Namespace and Topic.
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.

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": "2023-01-01-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "properties": {
    "alternateName": "string",
    "disableLocalAuth": "bool",
    "encryption": {
      "keySource": "Microsoft.KeyVault",
      "keyVaultProperties": [
        {
          "identity": {
            "userAssignedIdentity": "string"
          },
          "keyName": "string",
          "keyVaultUri": "string",
          "keyVersion": "string"
        }
      ],
      "requireInfrastructureEncryption": "bool"
    },
    "geoDataReplication": {
      "locations": [
        {
          "clusterArmId": "string",
          "locationName": "string",
          "roleType": "string"
        }
      ],
      "maxReplicationLagDurationInSeconds": "int"
    },
    "minimumTlsVersion": "string",
    "premiumMessagingPartitions": "int",
    "privateEndpointConnections": [
      {
        "properties": {
          "privateEndpoint": {
            "id": "string"
          },
          "privateLinkServiceConnectionState": {
            "description": "string",
            "status": "string"
          },
          "provisioningState": "string"
        }
      }
    ],
    "publicNetworkAccess": "string",
    "zoneRedundant": "bool"
  }
}

Property values

namespaces

Name Description Value
type The resource type 'Microsoft.ServiceBus/namespaces'
apiVersion The resource api version '2023-01-01-preview'
name The resource name string (required)

Character limit: 6-50

Valid characters:
Alphanumerics and hyphens.

Start with a letter. End with a letter or number.

For more information, see Create namespace.

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

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
{customized property} UserAssignedIdentity

UserAssignedIdentity

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

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
geoDataReplication Geo Data Replication settings for the namespace GeoDataReplicationProperties
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

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

KeyVaultProperties

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

UserAssignedIdentityProperties

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

GeoDataReplicationProperties

Name Description Value
locations A list of regions where replicas of the namespace are maintained. NamespaceReplicaLocation[]
maxReplicationLagDurationInSeconds The maximum acceptable lag for data replication operations from the primary replica to a quorum of secondary replicas. When the lag exceeds the configured amount, operations on the primary replica will be failed. The allowed values are 0 and 5 minutes to 1 day. int

NamespaceReplicaLocation

Name Description Value
clusterArmId Optional property that denotes the ARM ID of the Cluster. This is required, if a namespace replica should be placed in a Dedicated Event Hub Cluster string
locationName Azure regions where a replica of the namespace is maintained string
roleType GeoDR Role Types 'Primary'
'Secondary'

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'

PrivateEndpoint

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

ConnectionState

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

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'

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
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
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.
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 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

Deploy to Azure
This template enables you to deploy a Service Bus namespace with a Basic/Standard SKU.
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 and queue

Deploy to Azure
This template enables you to deploy a Service Bus Standard namespace and a queue.
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 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 Premium Namespace and AuthorizationRule

Deploy to Azure
This template creates a Service Bus Premium Namespace and a namespace AuthorizationRule
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.
Create a Service Bus Namespace and Topic

Deploy to Azure
This template creates a Service Bus Namespace and Topic.
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.

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@2023-01-01-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      alternateName = "string"
      disableLocalAuth = bool
      encryption = {
        keySource = "Microsoft.KeyVault"
        keyVaultProperties = [
          {
            identity = {
              userAssignedIdentity = "string"
            }
            keyName = "string"
            keyVaultUri = "string"
            keyVersion = "string"
          }
        ]
        requireInfrastructureEncryption = bool
      }
      geoDataReplication = {
        locations = [
          {
            clusterArmId = "string"
            locationName = "string"
            roleType = "string"
          }
        ]
        maxReplicationLagDurationInSeconds = int
      }
      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"
    }
  })
}

Property values

namespaces

Name Description Value
type The resource type "Microsoft.ServiceBus/namespaces@2023-01-01-preview"
name The resource name string (required)

Character limit: 6-50

Valid characters:
Alphanumerics and hyphens.

Start with a letter. End with a letter or number.

For more information, see Create namespace.

Resource name must be unique across Azure.
location The Geo-location where the resource lives string (required)
parent_id To deploy to a resource group, use the ID of that resource group. string (required)
tags Resource tags Dictionary of tag names and values.
sku Properties of SKU SBSku
identity Properties of BYOK Identity description Identity
properties Properties of the namespace. SBNamespaceProperties

Identity

Name Description Value
type Type of managed service identity. "SystemAssigned"
"SystemAssigned, UserAssigned"
"UserAssigned"
identity_ids Properties for User Assigned Identities Array of user identity IDs.

IdentityUserAssignedIdentities

Name Description Value
{customized property} UserAssignedIdentity

UserAssignedIdentity

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

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
geoDataReplication Geo Data Replication settings for the namespace GeoDataReplicationProperties
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

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

KeyVaultProperties

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

UserAssignedIdentityProperties

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

GeoDataReplicationProperties

Name Description Value
locations A list of regions where replicas of the namespace are maintained. NamespaceReplicaLocation[]
maxReplicationLagDurationInSeconds The maximum acceptable lag for data replication operations from the primary replica to a quorum of secondary replicas. When the lag exceeds the configured amount, operations on the primary replica will be failed. The allowed values are 0 and 5 minutes to 1 day. int

NamespaceReplicaLocation

Name Description Value
clusterArmId Optional property that denotes the ARM ID of the Cluster. This is required, if a namespace replica should be placed in a Dedicated Event Hub Cluster string
locationName Azure regions where a replica of the namespace is maintained string
roleType GeoDR Role Types "Primary"
"Secondary"

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"

PrivateEndpoint

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

ConnectionState

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

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"