Microsoft.ServiceBus namespaces
Bicep resource definition
The namespaces resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
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 |
This template allows you to create resources required for EpiServerCMS deployment in Azure |
Integration Patterns - Message Router - Service Bus |
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 |
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 |
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 |
which shows how we can correlate messages over Logic Apps using Azure Service Bus |
Create a Service Bus namespace and queue authorization rule |
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 |
This template enables you to deploy a Service Bus namespace with a Basic/Standard SKU. |
Create a Service Bus Geo-recovery |
This template allows you to configure Service Bus Geo-disaster recovery alias on premium SKU Namespaces. |
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, topic, and subscription |
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 |
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 |
This template enables you to deploy a Service Bus Premium namespace with IP Filter rule |
Create a Service Bus namespace Virtual Network rule |
This template enables you to deploy a Service Bus Premium namespace with Virtual Network rule |
Create a Service Bus Premium Namespace and AuthorizationRule |
This template creates a Service Bus Premium Namespace and a namespace AuthorizationRule |
Connect to a Service Bus namespace via private endpoint |
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 |
This template creates a Service Bus Namespace and Topic. |
Create a Service Bus Topic with Subscription and SQL Filter |
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:
- Resource groups - See resource group deployment commands
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 |
This template allows you to create resources required for EpiServerCMS deployment in Azure |
Integration Patterns - Message Router - Service Bus |
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 |
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 |
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 |
which shows how we can correlate messages over Logic Apps using Azure Service Bus |
Create a Service Bus namespace and queue authorization rule |
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 |
This template enables you to deploy a Service Bus namespace with a Basic/Standard SKU. |
Create a Service Bus Geo-recovery |
This template allows you to configure Service Bus Geo-disaster recovery alias on premium SKU Namespaces. |
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, topic, and subscription |
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 |
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 |
This template enables you to deploy a Service Bus Premium namespace with IP Filter rule |
Create a Service Bus namespace Virtual Network rule |
This template enables you to deploy a Service Bus Premium namespace with Virtual Network rule |
Create a Service Bus Premium Namespace and AuthorizationRule |
This template creates a Service Bus Premium Namespace and a namespace AuthorizationRule |
Connect to a Service Bus namespace via private endpoint |
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 |
This template creates a Service Bus Namespace and Topic. |
Create a Service Bus Topic with Subscription and SQL Filter |
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" |