Создание ресурсов служебной шины с использованием шаблонов Azure Resource Manager
В этой статье описывается, как создать и развернуть ресурсы служебной шины с помощью шаблонов Azure Resource Manager, PowerShell и поставщика ресурсов служебной шины.
В шаблонах Azure Resource Manager определяются ресурсы для развертывания решения и указываются параметры и переменные, позволяющие вводить значения для различных сред. Шаблон создается в формате JSON и состоит из выражений, на основе которых можно получить значения для развертывания. Дополнительные сведения о создании шаблонов Azure Resource Manager и описание формата шаблонов см. в статье Описание структуры и синтаксиса шаблонов Azure Resource Manager.
Примечание.
В примерах в этой статье показано, как использовать Azure Resource Manager для создания пространства имен и объекта обмена сообщениями (очереди) служебной шины. Чтобы узнать о новых шаблонах, в коллекции шаблонов быстрого запуска Azure выполните поиск по запросу служебная шина.
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Шаблоны Resource Manager для служебной шины
Эти шаблоны Azure Resource Manager для служебной шины доступны для скачивания и развертывания. Чтобы получить подробные сведения о каждом из них со ссылками на шаблоны в GitHub, щелкните приведенные ниже ссылки.
- Создайте пространство имен служебной шины
- Создание пространства имен служебной шины с очередью
- Создание пространства имен служебной шины с разделом и подпиской
- Создание пространства имен служебной шины с очередью и правилом авторизации
- Создание пространства имен служебной шины с разделом, подпиской и правилом с помощью шаблона Azure Resource Manager
Развертывание с помощью PowerShell
Ниже описывается использование PowerShell для развертывания шаблона Azure Resource Manager, который создает пространство имен служебной шины уровня "Стандартный" и очередь в нем. Этот пример основан на шаблоне Создание пространства имен служебной шины с очередью. Ниже приведена примерная последовательность действий.
- Установите PowerShell.
- Создайте шаблон и (необязательно) файл параметров.
- В PowerShell войдите в свою учетную запись Azure.
- Создайте группу ресурсов, если ее еще нет.
- Протестируйте развертывание.
- Если необходимо, задайте режим развертывания.
- Разверните шаблон .
Подробные сведения о развертывании шаблонов Azure Resource Manager см. в статье Deploy resources with Resource Manager templates and Azure PowerShell (Развертывание ресурсов с использованием шаблонов Resource Manager и Azure PowerShell).
Установка PowerShell
Установите Azure PowerShell, следуя указаниям в разделе Getting started with Azure PowerShell (Приступая к работе с Azure PowerShell).
Создать шаблон
Клонируйте репозиторий или скопируйте шаблон servicebus-create-queue с сайта GitHub:
{
"$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/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"
}
}
},
"variables": {
"defaultSASKeyName": "RootManageSharedAccessKey",
"authRuleResourceId": "[resourceId('Microsoft.ServiceBus/namespaces/authorizationRules', parameters('serviceBusNamespaceName'), variables('defaultSASKeyName'))]",
"sbVersion": "2017-04-01"
},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusNamespaceName')]",
"type": "Microsoft.ServiceBus/Namespaces",
"location": "[resourceGroup().location]",
"sku": {
"name": "Standard"
},
"properties": {},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusQueueName')]",
"type": "Queues",
"dependsOn": [
"[concat('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"
],
"properties": {
"lockDuration": "PT5M",
"maxSizeInMegabytes": "1024",
"requiresDuplicateDetection": "false",
"requiresSession": "false",
"defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
"deadLetteringOnMessageExpiration": "false",
"duplicateDetectionHistoryTimeWindow": "PT10M",
"maxDeliveryCount": "10",
"autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
"enablePartitioning": "false",
"enableExpress": "false"
}
}
]
}
],
"outputs": {
"NamespaceConnectionString": {
"type": "string",
"value": "[listkeys(variables('authRuleResourceId'), variables('sbVersion')).primaryConnectionString]"
},
"SharedAccessPolicyPrimaryKey": {
"type": "string",
"value": "[listkeys(variables('authRuleResourceId'), variables('sbVersion')).primaryKey]"
}
}
}
Создание файла параметров (необязательно)
Чтобы использовать необязательный файл параметров, скопируйте файл servicebus-create-queue. Замените значение serviceBusNamespaceName
на название пространства имен служебной шины, которое нужно создать в этом развертывании, а значение serviceBusQueueName
— на имя очереди, которую нужно создать.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serviceBusNamespaceName": {
"value": "<myNamespaceName>"
},
"serviceBusQueueName": {
"value": "<myQueueName>"
},
"serviceBusApiVersion": {
"value": "2017-04-01"
}
}
}
Дополнительные сведения см. в разделе Параметры.
Вход в Azure и настройка подписки Azure
В командной строке PowerShell выполните следующую команду:
Connect-AzAccount
Вам будет предложено войти в учетную запись Azure. Войдя в систему, выполните следующую команду, чтобы просмотреть доступные подписки:
Get-AzSubscription
Эта команда возвращает список доступных подписок Azure. Выберите подписку для текущего сеанса, выполнив приведенную ниже команду. Замените <YourSubscriptionId>
идентификатором GUID подписки Azure, которую вы хотите использовать:
Set-AzContext -SubscriptionID <YourSubscriptionId>
Задание группы ресурсов
Если у вас нет группы ресурсов, создайте ее с помощью команды New-AzResourceGroup. Введите имя группы ресурсов и нужное расположение. Например:
New-AzResourceGroup -Name MyDemoRG -Location "West US"
После успешного выполнения операции появится сводка по новой группе ресурсов.
ResourceGroupName : MyDemoRG
Location : westus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/<GUID>/resourceGroups/MyDemoRG
Тестирование развертывания
Проверьте развертывание, выполнив командлет Test-AzResourceGroupDeployment
. При тестировании развернутой службы укажите точно такие же параметры, как и при ее выполнении.
Test-AzResourceGroupDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
Создание развертывания
Чтобы создать развертывание, выполните командлет New-AzResourceGroupDeployment
и укажите необходимые параметры при появлении запроса. Параметры включают в себя имя развертывания, имя группы ресурсов и путь к файлу шаблона или его URL-адрес. Если параметр Режим не указан, используется стандартное значение Добавочный. Дополнительные сведения см. в статье Добавочные и полные развертывания.
Следующая команда запрашивает три параметра в окне PowerShell:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
Чтобы использовать вместо этого файл параметров, выполните приведенную ниже команду:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -TemplateParameterFile <path to parameters file>\azuredeploy.parameters.json
При выполнении командлета развертывания также можно использовать встроенные параметры. Команда выглядит следующим образом:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -parameterName "parameterValue"
Чтобы выполнить полное развертывание, установите для параметра Режим значение Полный.
New-AzResourceGroupDeployment -Name MyDemoDeployment -Mode Complete -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
Проверка развертывания
В случае успешного развертывания ресурсов в окне PowerShell будет приведена сводка по развертыванию.
DeploymentName : MyDemoDeployment
ResourceGroupName : MyDemoRG
ProvisioningState : Succeeded
Timestamp : 4/19/2017 10:38:30 PM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
serviceBusNamespaceName String <namespaceName>
serviceBusQueueName String <queueName>
serviceBusApiVersion String 2017-04-01
Следующие шаги
Мы рассмотрели базовую процедуру и команды для развертывания шаблона Azure Resource Manager. Для получения более подробных сведений перейдите по следующим ссылкам: