Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция автоматического перенаправления в Служебной шине позволяет привязать очередь или подписку к другой очереди или разделу в том же пространстве имен. Если включено автоматическое перенаправление, Служебная шина автоматически удаляет сообщения, помещенные в первую (исходную) очередь или подписку, и помещает их во вторую (целевую) очередь или раздел. При этом сохраняется возможность отправить сообщение напрямую в целевую сущность. Дополнительные сведения см. в разделе "Цепочка сущностей служебной шины" с автоматической пересылкой. В этой статье описаны различные способы настройки автоматического перенаправления для очередей и подписок Service Bus.
Внимание
Уровень Базовый в Service Bus не поддерживает функцию автоматического перенаправления. Поддержка этой функции осуществляется на уровнях "Стандартный" и "Премиум". За различиями между этими уровнями, смотрите цены на Service Bus.
Используя портал Azure
При создании очереди или подписки для темы через портал Azure выберите параметр Пересылать сообщения в очередь/тему, как показано в следующих примерах. Затем укажите, куда вы предпочитаете перенаправлять сообщения — в очередь или раздел. В нашем примере выбран вариант Очередь и указана очередь из того же пространства имен.
Создайте очередь с автоматическим перенаправлением
Создание подписки на раздел с автоматическим перенаправлением
Изменение параметра автоматического перенаправления для существующей очереди
На странице Обзор для очереди Служебной шины выберите текущее значение параметра Перенаправление сообщений. В следующем примере он имеет значение Отключено. В окне Forward messages to queue/topic (Перенаправление сообщений в очередь или раздел) можно выбрать очередь или раздел, в которые нужно перенаправлять сообщения.
Изменение параметра автоматического перенаправления для существующей подписки
На странице Обзор в вашей подписке на службу Service Bus выберите текущее значение параметра Перенаправить сообщения на. В следующем примере он имеет значение Отключено. В окне Forward messages to queue/topic (Перенаправление сообщений в очередь или раздел) можно выбрать очередь или раздел, в которые нужно перенаправлять сообщения.
Использование Azure CLI
Чтобы создать очередь с автоматическим перенаправлением, выполните команду az servicebus queue create, задав для параметра --forward-to значение имени очереди или раздела, в который должны перенаправляться сообщения.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--forward-to myqueue2
Чтобы изменить режим автоматического перенаправления для существующей очереди, выполните команду az servicebus queue update, задав для параметра --forward-to значение имени очереди или раздела, в который должны перенаправляться сообщения.
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--forward-to myqueue2
Чтобы создать подписку на раздел с автоматическим перенаправлением, выполните команду az servicebus topic subscription create, задав для параметра --forward-to значение имени очереди или раздела, в который должны перенаправляться сообщения.
az servicebus topic subscription create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--forward-to myqueue2
Чтобы изменить режим автоматического перенаправления для подписки на раздел, выполните команду az servicebus topic subscription update, задав для параметра --forward-to значение имени очереди или раздела, в который должны перенаправляться сообщения.
az servicebus topic subscription update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--forward-to myqueue2
Использование Azure PowerShell
Чтобы создать очередь с автоматическим перенаправлением, выполните команду New-AzServiceBusQueue, задав для параметра -ForwardTo значение имени очереди или раздела, в который должны перенаправляться сообщения.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name myqueue `
-ForwardTo myqueue2
Чтобы изменить режим автоматического перенаправления для существующей очереди, выполните команду Set-AzServiceBusQueue, как показано в следующем примере.
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name myqueue `
-ForwardTo myqueue2
Чтобы создать подписку на раздел с автоматическим перенаправлением, выполните команду New-AzServiceBusSubscription, задав для параметра -ForwardTo значение имени очереди или раздела, в который должны перенаправляться сообщения.
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-Name mysubscription `
-ForwardTo myqueue2
Чтобы изменить параметр автоматического перенаправления для существующей подписки, воспользуйтесь следующим примером.
Set-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-Name mysub `
-ForwardTo mytopic2
Использование шаблона
Чтобы создать очередь с автоматическим перенаправлением, задайте для forwardTo в разделе параметров очереди имя очереди или топика, в который должны перенаправляться сообщения. Дополнительные сведения см. в справочнике по шаблонам пространств имен/очередей Microsoft.ServiceBus.
@description('Name of the Service Bus namespace')
param serviceBusNamespaceName string
@description('Name of the Queue')
param serviceBusQueueName string
@description('Location for all resources.')
param location string = resourceGroup().location
resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
name: serviceBusNamespaceName
location: location
sku: {
name: 'Standard'
}
resource queue 'queues' = {
name: serviceBusQueueName
properties: {
forwardTo: 'myqueue2'
}
}
}
Чтобы создать подписку для раздела с включенным автоматическим переадресациям, задайте forwardTo в разделе свойств подписки имя очереди или раздела, в которое нужно перенаправить сообщения. Дополнительные сведения см. в справочнике по шаблонам пространств имен, разделов и подписок Microsoft.ServiceBus.
@description('Name of the Service Bus namespace')
param serviceBusNamespaceName string
@description('Name of the Topic')
param serviceBusTopicName string
@description('Name of the Subscription')
param serviceBusSubscriptionName string
@description('Location for all resources.')
param location string = resourceGroup().location
resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
name: serviceBusNamespaceName
location: location
sku: {
name: 'Standard'
}
resource topic 'topics' = {
name: serviceBusTopicName
properties: {
maxSizeInMegabytes: 1024
}
resource subscription 'subscriptions' = {
name: serviceBusSubscriptionName
properties: {
forwardTo: 'myqueue2'
}
}
}
}
.NET
Azure.Messaging.ServiceBus (последняя версия)
Чтобы включить функцию автоматического перенаправления, можно задать CreateQueueOptions.ForwardTo или CreateSubscriptionOptions.ForwardTo, а затем выполнить метод CreateQueueAsync или CreateSubscriptionAsync, которые принимают параметры CreateQueueOptions или CreateSubscriptionOptions.
Microsoft.Azure.ServiceBus (устаревшая версия)
Чтобы включить автоматическое перенаправление, задайте параметр QueueDescription.ForwardTo или SubscriptionDescription.ForwardTo для исходной сущности, как показано в следующем примере:
SubscriptionDescription srcSubscription = new SubscriptionDescription (srcTopic, srcSubscriptionName);
srcSubscription.ForwardTo = destTopic;
namespaceManager.CreateSubscription(srcSubscription));
30 сентября 2026 г. мы удалим библиотеки пакета SDK Служебная шина Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus и com.microsoft.azure.servicebus, которые не соответствуют рекомендациям по пакету SDK Azure. Мы также завершим поддержку протокола SBMP, поэтому вы больше не сможете использовать этот протокол после 30 сентября 2026 года. Перейдите в последние библиотеки пакета SDK Azure, которые предлагают критически важные обновления системы безопасности и улучшенные возможности до этой даты.
Хотя старые библиотеки по-прежнему могут использоваться после 30 сентября 2026 года, они больше не будут получать официальную поддержку и обновления от Майкрософт. Для получения дополнительной информации см. объявление об окончании поддержки.
Java
azure-messaging-servicebus (последняя версия)
Чтобы включить функцию автоматического перенаправления, примените метод CreateQueueOptions.setForwardTo(String forwardTo) или CreateSubscriptionOptions.setForwardTo(String forwardTo), а затем примените метод createQueue или createSubscription, которые принимают параметры CreateQueueOptions или CreateSubscriptionOptions.
azure-servicebus (устаревшая версия)
Чтобы включить автоматическое перенаправление, примените QueueDescription.setForwardTo(String forwardTo) или SubscriptionDescription.setForwardTo(String forwardTo) для источника.
30 сентября 2026 г. мы удалим библиотеки пакета SDK Служебная шина Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus и com.microsoft.azure.servicebus, которые не соответствуют рекомендациям по пакету SDK Azure. Мы также завершим поддержку протокола SBMP, поэтому вы больше не сможете использовать этот протокол после 30 сентября 2026 года. Перейдите в последние библиотеки пакета SDK Azure, которые предлагают критически важные обновления системы безопасности и улучшенные возможности до этой даты.
Хотя старые библиотеки по-прежнему могут использоваться после 30 сентября 2026 года, они больше не будут получать официальную поддержку и обновления от Майкрософт. Для получения дополнительной информации см. объявление об окончании поддержки.
Следующие шаги
Опробуйте примеры на выбранном языке, чтобы изучить возможности Служебной шины Azure.
- Примеры для клиентской библиотеки Служебной шины Azure для .NET (последняя версия)
- Примеры для клиентской библиотеки Служебной шины Azure для Java (последняя версия)
- Примеры для клиентской библиотеки Служебной шины Azure для Python
- Примеры для клиентской библиотеки Служебной шины Azure для JavaScript
- Примеры для клиентской библиотеки Служебной шины Azure для TypeScript
Найдите примеры для старых клиентских библиотек .NET и Java:
- Примеры для клиентской библиотеки Служебной шины Azure для .NET (прежние версии)
- Примеры для клиентской библиотеки Служебной шины Azure для Java (прежние версии)
30 сентября 2026 г. мы удалим библиотеки пакета SDK Служебная шина Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus и com.microsoft.azure.servicebus, которые не соответствуют рекомендациям по пакету SDK Azure. Мы также завершим поддержку протокола SBMP, поэтому вы больше не сможете использовать этот протокол после 30 сентября 2026 года. Перейдите в последние библиотеки пакета SDK Azure, которые предлагают критически важные обновления системы безопасности и улучшенные возможности до этой даты.
Хотя старые библиотеки по-прежнему могут использоваться после 30 сентября 2026 года, они больше не будут получать официальную поддержку и обновления от Майкрософт. Для получения дополнительной информации см. объявление об окончании поддержки.