Habilitación de la creación de particiones en Azure Service Bus básico o estándar
Las particiones de Service Bus permiten que las colas y temas, o entidades de mensajería, se dividan en particiones entre varios agentes de mensajes. La creación de particiones significa que el rendimiento general de una entidad particionada ya no estará limitado por el rendimiento de un solo agente. Además, una interrupción temporal de un agente de mensajes, por ejemplo, durante una actualización, no representa que una cola o tema con particiones no vaya a estar disponible. Las colas y los temas con particiones pueden contener todas las características avanzadas de Service Bus, como la compatibilidad con transacciones y sesiones. Para más información, consulte Temas y colas con particiones. En este artículo se muestran las distintas formas de habilitar la detección de mensajes duplicados para una cola o un tema de Service Bus.
Importante
- La creación de particiones está disponible en la creación de la entidad para todas las colas y temas de las SKU Básicas o Estándar.
- No se puede cambiar la opción de creación de particiones en ninguna de las colas o temas existentes. La opción solo puede establecerse al crear una cola o un tema.
- En un espacio de nombres de nivel Estándar, puede crear colas y temas de Service Bus en tamaños de 1, 2, 3, 4 o 5 GB (el valor predeterminado es 1 GB). Con las particiones habilitadas, Service Bus crea 16 copias (16 particiones) de la entidad, cada una del mismo tamaño especificado. Por lo tanto, si crea una cola con un tamaño de 5 GB y 16 particiones, el tamaño de cola máximo se convierte en (5 * 16) = 80 GB.
Usar Azure Portal
Al crear una cola en Azure Portal, seleccione Habilitar la creación de particiones, como se muestra en la imagen siguiente.
Al crear un tema en Azure Portal, seleccione Habilitar la creación de particiones, como se muestra en la imagen siguiente.
Uso de CLI de Azure
Para crear una cola con la creación de particiones habilitada, use el comando az servicebus queue create
con --enable-partitioning
establecido en true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-partitioning true
Para crear un tema con la creación de particiones habilitada, use el comando az servicebus topic create
con --enable-partitioning
establecido en true
.
az servicebus topic create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name mytopic \
--enable-partitioning true
Uso de Azure PowerShell
Para crear una cola con la creación de particiones habilitada, use el comando New-AzServiceBusQueue
con -EnablePartitioning
establecido en $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-EnablePartitioning $True
Para crear un tema con la creación de particiones habilitada, use el comando New-AzServiceBusTopic
con -EnablePartitioning
establecido en true
.
New-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-EnablePartitioning $True
Usar plantillas de Azure Resource Manager
Para crear una cola con la creación de particiones habilitada, establezca enablePartitioning
en true
en la sección de propiedades de la cola. Para obtener más información, consulte el documento de referencia de la plantilla de Microsoft.ServiceBus namespaces/queues.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serviceBusNamespaceName": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusQueueName": {
"type": "string",
"metadata": {
"description": "Name of the Queue"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [
{
"type": "Microsoft.ServiceBus/namespaces",
"apiVersion": "2018-01-01-preview",
"name": "[parameters('serviceBusNamespaceName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"properties": {},
"resources": [
{
"type": "Queues",
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusQueueName')]",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]"
],
"properties": {
"enablePartitioning": true
}
}
]
}
]
}
Para crear un tema con la detección de duplicados habilitada, establezca enablePartitioning
en true
en la sección de propiedades del tema. Para obtener más información, consulte el documento de referencia de la plantilla de Microsoft.ServiceBus namespaces/topics.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"service_BusNamespace_Name": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusTopicName": {
"type": "string",
"metadata": {
"description": "Name of the Topic"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [
{
"apiVersion": "2018-01-01-preview",
"name": "[parameters('service_BusNamespace_Name')]",
"type": "Microsoft.ServiceBus/namespaces",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"properties": {},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusTopicName')]",
"type": "topics",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces/', parameters('service_BusNamespace_Name'))]"
],
"properties": {
"enablePartitioning": true
}
}
]
}
]
}
Pasos siguientes
Pruebe los ejemplos en el lenguaje que prefiera para explorar las características de Azure Service Bus.
- Ejemplos de la biblioteca cliente de Azure Service Bus para .NET (versión más reciente)
- Ejemplos de la biblioteca cliente de Azure Service Bus para Java (versión más reciente)
- Ejemplos de la biblioteca cliente de Azure Service Bus para Python
- Ejemplos de la biblioteca cliente de Azure Service Bus para JavaScript
- Ejemplos de la biblioteca cliente de Azure Service Bus para TypeScript
A continuación, encontrará ejemplos de las bibliotecas cliente de .NET y Java anteriores:
- Ejemplos de la biblioteca cliente de Azure Service Bus para .NET (versión heredada)
- Ejemplos de la biblioteca cliente de Azure Service Bus para Java (versión heredada)
El 30 de septiembre de 2026, retiraremos las bibliotecas del SDK de Azure Service Bus WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus y com.microsoft.azure.servicebus, que no se ajustan a las directrices del SDK de Azure. También finalizaremos la compatibilidad con el protocolo SBMP, por lo que ya no podrá usar este protocolo después del 30 de septiembre de 2026. Migre a las bibliotecas más recientes del SDK de Azure, que ofrecen actualizaciones de seguridad críticas y funcionalidades mejoradas, antes de esa fecha.
Aunque las bibliotecas anteriores todavía se pueden usar después del 30 de septiembre de 2026, ya no recibirán soporte técnico oficial ni actualizaciones de Microsoft. Para obtener más información, consulte el anuncio de retirada de soporte técnico.