Habilitación del reenvío automático para las colas y las suscripciones de Azure Service Bus
La característica de reenvío automático de Service Bus permite encadenar una cola o suscripción a otra cola u otro tema que formen parte del mismo espacio de nombres. Cuando el reenvío automático está habilitado, Service Bus elimina automáticamente los mensajes que se colocan en la primera cola o suscripción (origen) y los coloca en la segunda cola o en el segundo tema (destino). Todavía se puede enviar un mensaje a la entidad de destino directamente. Para obtener más información, consulte Encadenamiento de entidades de Service Bus con reenvío automático. En este artículo se muestran las distintas formas de habilitar el reenvío automático para las colas y las suscripciones de Service Bus.
Importante
El nivel básico de Service Bus no admite la característica de reenvío automático. Los niveles Estándar y Prémium admiten la característica. Para conocer las diferencias entre estos niveles, consulte Precios de Service Bus.
Uso de Azure Portal
Al crear una cola o una suscripción para un tema en Azure Portal, seleccione la opción para reenviar mensajes a la cola o el tema, como se muestra en los ejemplos siguientes. A continuación, especifique si desea que los mensajes se reenvíen a una cola o a un tema. En este ejemplo, se elige la opción Cola y se selecciona una cola del mismo espacio de nombres.
Creación de una cola con el reenvío automático habilitado
Creación de una suscripción para un tema con el reenvío automático habilitado
Actualización de la configuración de reenvío automático para una cola existente
En la página Información general de la cola de Service Bus, seleccione el valor actual de la opción Reenviar mensajes a. En el ejemplo siguiente, el valor actual es Deshabilitado. En la ventana Reenviar mensajes a cola o tema, puede seleccionar la cola o el tema en el que desea que se reenvíen los mensajes.
Actualización de la configuración de reenvío automático para una suscripción existente
En la página Información general de la suscripción de Service Bus, seleccione el valor actual de la opción Reenviar mensajes a. En el ejemplo siguiente, el valor actual es Deshabilitado. En la ventana Reenviar mensajes a cola o tema, puede seleccionar la cola o el tema en el que desea que se reenvíen los mensajes.
Uso de la CLI de Azure
Para crear una cola con el reenvío automático habilitado, use el comando az servicebus queue create
con --forward-to
establecido en el nombre de la cola o el tema al que desea reenviar los mensajes.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--forward-to myqueue2
Para actualizar la configuración de reenvío automático para una cola existente, use el comando az servicebus queue update
con --forward-to
establecido en el nombre de la cola o tema al que desea reenviar los mensajes.
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--forward-to myqueue2
Para crear una suscripción para un tema con el reenvío automático habilitado, use el comando az servicebus topic subscription create
con --forward-to
establecido en el nombre de la cola o el tema al que desea reenviar los mensajes.
az servicebus topic subscription create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--forward-to myqueue2
Para actualizar la configuración de reenvío automático para una suscripción para un tema, use el comando az servicebus topic subscription update
con --forward-to
establecido en el nombre de la cola o tema al que desea reenviar los mensajes.
az servicebus topic subscription update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--forward-to myqueue2
Uso de Azure PowerShell
Para crear una cola con el reenvío automático habilitado, use el comando New-AzServiceBusQueue
con -ForwardTo
establecido en el nombre de la cola o el tema al que desea reenviar los mensajes.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name myqueue `
-ForwardTo myqueue2
Para actualizar la configuración de reenvío automático para una cola existente, use el comando Set-AzServiceBusQueue
como se muestra en el ejemplo siguiente.
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name myqueue `
-ForwardTo myqueue2
Para crear una suscripción para un tema con el reenvío automático habilitado, use el comando New-AzServiceBusSubscription
con -ForwardTo
establecido en el nombre de la cola o el tema al que desea reenviar los mensajes.
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-Name mysubscription `
-ForwardTo myqueue2
Para actualizar la configuración de reenvío automático para una suscripción existente, vea el ejemplo siguiente.
Set-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-Name mysub `
-ForwardTo mytopic2
Uso de la plantilla de Azure Resource Manager
Para crear una cola con el reenvío automático habilitado, establezca forwardTo
, que aparece en la sección de propiedades de la cola, en el nombre de la cola o el tema al que desea reenviar los mensajes. 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": {
"forwardTo": "myqueue2"
}
}
]
}
]
}
Para crear una suscripción para un tema con el reenvío automático habilitado, establezca forwardTo
, que aparece en la sección de propiedades de la cola, en el nombre de la cola o el tema al que desea reenviar los mensajes. Para obtener más información, consulte el documento de referencia de la plantilla de Microsoft.ServiceBus/namespaces/topics/subscriptions.
{
"$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"
}
},
"serviceBusSubscriptionName": {
"type": "string",
"metadata": {
"description": "Name of the Subscription"
}
},
"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": {
"maxSizeInMegabytes": 1024
},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusSubscriptionName')]",
"type": "Subscriptions",
"dependsOn": [
"[parameters('serviceBusTopicName')]"
],
"properties": {
"forwardTo": "myqueue2"
}
}
]
}
]
}
]
}
.NET
Azure.Messaging.ServiceBus (más reciente)
Para habilitar la característica de reenvío automático, puede establecer CreateQueueOptions.ForwardTo o CreateSubscriptionOptions.ForwardTo y, a continuación, usar los métodos CreateQueueAsync o CreateSubscriptionAsync que toman parámetros CreateQueueOptions
o CreateSubscriptionOptions
.
Microsoft.Azure.ServiceBus (heredado)
Para habilitar el reenvío automático, establezca las propiedades QueueDescription.ForwardTo o SubscriptionDescription.ForwardTo para el origen, como en este ejemplo:
SubscriptionDescription srcSubscription = new SubscriptionDescription (srcTopic, srcSubscriptionName);
srcSubscription.ForwardTo = destTopic;
namespaceManager.CreateSubscription(srcSubscription));
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 retiraremos el soporte del protocolo SBMP, por lo que ya no podrás 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.
Java
azure-messaging-servicebus (más reciente)
Puede habilitar la característica de reenvío automático mediante el método CreateQueueOptions.setForwardTo(String forwardTo) o CreateSubscriptionOptions.setForwardTo(String forwardTo) y, a continuación, mediante el método createQueue o el método createSubscription que toman los parámetros CreateQueueOptions
o CreateSubscriptionOptions
.
azure-servicebus (heredado)
Puede habilitar el reenvío automático mediante QueueDescription.setForwardTo(String forwardTo) o SubscriptionDescription.setForwardTo(String forwardTo) para el origen.
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 retiraremos el soporte del protocolo SBMP, por lo que ya no podrás 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.
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
Encuentre 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 retiraremos el soporte del protocolo SBMP, por lo que ya no podrás 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.