Создание пространства имен служебной шины с разделом, подпиской и правилом с помощью шаблона Azure Resource Manager
В этой статье показывается, как использовать шаблон Azure Resource Manager, создающий пространство имен служебной шины с разделом, подпиской и правилом (фильтром). Здесь объясняется, как указать развертываемые ресурсы и определить параметры, указываемые при развертывании. Этот шаблон можно использовать для собственных развертываний или изменить его в соответствии с вашими требованиями.
Дополнительные сведения о создании шаблонов см. в статье Создание шаблонов Azure Resource Manager.
Дополнительные сведения о практиках и шаблонах соглашений об именовании ресурсов Azure см. в разделе Recommended naming conventions for Azure resources (Рекомендуемые соглашения об именовании ресурсов Azure).
Полный шаблон пространства имен служебной шины с разделом, подпиской и правилом приведен здесь.
Примечание.
Для скачивания и развертывания можно использовать указанные ниже шаблоны диспетчера ресурсов Azure.
- Создание пространства имен служебной шины с очередью и правилом авторизации
- Создание пространства имен служебной шины с очередью
- Создайте пространство имен служебной шины
- Создание пространства имен служебной шины с разделом и подпиской
Чтобы узнать о новых шаблонах, в коллекции шаблонов быстрого запуска Azure выполните поиск "Service Bus".
Какой объект развертывается?
С помощью этого шаблона вы развернете пространство имен служебной шины с разделом, подпиской и правилом (фильтром).
Разделы и подписки служебной шины предоставляют разновидность взаимодействия "один ко многим" в рамках схемы публикации или подписки. При использовании разделов и подписок компоненты распределенного приложения не взаимодействуют напрямую друг с другом, а обмениваются сообщениями через раздел, который выступает в качестве посредника. Подписка на раздел напоминает виртуальную очередь, которая получает копии сообщений, отправленных в раздел. Фильтр позволяет определить, какие посылаемые в раздел сообщения должны появляться в определенной подписке на этот раздел.
Что такое правила (фильтры)?
Во многих ситуациях сообщения с определенными характеристиками должны обрабатываться разными способами. Чтобы включить пользовательскую обработку, можно настроить подписки, обеспечивающие поиск сообщений с нужными свойствами, после чего можно изменить эти свойства. Подписки служебной шины регистрируют все сообщения, отправленные в раздел, однако в виртуальную очередь подписки можно скопировать только подмножество этих сообщений. Это возможно благодаря использованию фильтров подписок. Чтобы узнать больше о правилах (фильтрах), изучите раздел Правила и действия.
Чтобы выполнить развертывание автоматически, нажмите следующую кнопку.
Параметры
С помощью Azure Resource Manager определите параметры для значений, которые должны указываться на этапе развертывания шаблона. В шаблоне есть раздел Parameters
, содержащий все значения параметров. Определите параметры для тех значений, которые зависят от развертываемого проекта либо от среды, в которую выполняется развертывание. Не определяйте параметры для значений, которые не меняются. Значение каждого параметра в шаблоне определяет развертываемые ресурсы.
Ниже описаны параметры, которые определяет шаблон.
serviceBusNamespaceName
Имя создаваемого пространства имен служебной шины.
"serviceBusNamespaceName": {
"type": "string"
}
serviceBusTopicName
Имя раздела, создаваемого в пространстве имен служебной шины.
"serviceBusTopicName": {
"type": "string"
}
serviceBusSubscriptionName
Имя подписки, создаваемой в пространстве имен служебной шины.
"serviceBusSubscriptionName": {
"type": "string"
}
serviceBusRuleName
Имя правила (фильтра), создаваемого в пространстве имен служебной шины.
"serviceBusRuleName": {
"type": "string",
}
serviceBusApiVersion
Версия API служебной шины для шаблона.
"serviceBusApiVersion": {
"type": "string",
"defaultValue": "2017-04-01",
"metadata": {
"description": "Service Bus ApiVersion used by the template"
}
Развертываемые ресурсы
Создает стандартное пространство имен служебной шины типа Messaging с разделом, подпиской и правилами.
"resources": [{
"apiVersion": "[variables('sbVersion')]",
"name": "[parameters('serviceBusNamespaceName')]",
"type": "Microsoft.ServiceBus/Namespaces",
"location": "[variables('location')]",
"sku": {
"name": "Standard",
},
"resources": [{
"apiVersion": "[variables('sbVersion')]",
"name": "[parameters('serviceBusTopicName')]",
"type": "Topics",
"dependsOn": [
"[concat('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"
],
"properties": {
"path": "[parameters('serviceBusTopicName')]"
},
"resources": [{
"apiVersion": "[variables('sbVersion')]",
"name": "[parameters('serviceBusSubscriptionName')]",
"type": "Subscriptions",
"dependsOn": [
"[parameters('serviceBusTopicName')]"
],
"properties": {},
"resources": [{
"apiVersion": "[variables('sbVersion')]",
"name": "[parameters('serviceBusRuleName')]",
"type": "Rules",
"dependsOn": [
"[parameters('serviceBusSubscriptionName')]"
],
"properties": {
"filterType": "SqlFilter",
"sqlFilter": {
"sqlExpression": "StoreName = 'Store1'",
"requiresPreprocessing": "false"
},
"action": {
"sqlExpression": "set FilterTag = 'true'"
}
}
}]
}]
}]
}]
Сведения о синтаксисе и свойствах JSON см. в статьях о пространствах имен, разделах, подписках и правилах.
Команды для выполнения развертывания
Чтобы развернуть ресурсы в Azure, необходимо войти в учетную запись Azure и воспользоваться модулем Azure Resource Manager. Информацию об использовании диспетчера ресурсов Azure с помощью Azure PowerShell или интерфейса командной строки Azure см. в следующих статьях:
- Управление ресурсами Azure с помощью Azure PowerShell
- Управление ресурсами Azure с помощью Azure CLI
В приведенных ниже примерах предполагается, что в вашей учетной записи уже есть группа ресурсов с указанным именем.
PowerShell
New-AzureResourceGroupDeployment -Name \<deployment-name\> -ResourceGroupName \<resource-group-name\> -TemplateUri <https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/quickstarts/microsoft.servicebus/servicebus-create-topic-subscription-rule/azuredeploy.json>
Azure CLI
az deployment group create -g \<my-resource-group\> --template-uri <https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/quickstarts/microsoft.servicebus/servicebus-create-topic-subscription-rule/azuredeploy.json>
Следующие шаги
Узнайте, как управлять этими ресурсами, просмотрев следующие статьи: