Создание ресурсов служебной шины с использованием шаблонов Azure Resource Manager

В этой статье описывается, как создать и развернуть ресурсы служебной шины с помощью шаблонов Azure Resource Manager, PowerShell и поставщика ресурсов служебной шины.

В шаблонах Azure Resource Manager определяются ресурсы для развертывания решения и указываются параметры и переменные, позволяющие вводить значения для различных сред. Шаблон создается в формате JSON и состоит из выражений, на основе которых можно получить значения для развертывания. Дополнительные сведения о создании шаблонов Azure Resource Manager и описание формата шаблонов см. в статье Описание структуры и синтаксиса шаблонов Azure Resource Manager.

Примечание

В примерах в этой статье показано, как использовать Azure Resource Manager для создания пространства имен и объекта обмена сообщениями (очереди) служебной шины. Чтобы узнать о новых шаблонах, в коллекции шаблонов быстрого запуска Azure выполните поиск по запросу служебная шина.

Примечание

Для взаимодействия с Azure рекомендуется использовать модуль Azure Az PowerShell. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Шаблоны Resource Manager для служебной шины

Эти шаблоны Azure Resource Manager для служебной шины доступны для скачивания и развертывания. Чтобы получить подробные сведения о каждом из них со ссылками на шаблоны в GitHub, щелкните приведенные ниже ссылки.

Развертывание с помощью PowerShell

Ниже описывается использование PowerShell для развертывания шаблона Azure Resource Manager, который создает пространство имен служебной шины уровня "Стандартный" и очередь в нем. Этот пример основан на шаблоне Создание пространства имен служебной шины с очередью. Ниже приведена примерная последовательность действий.

  1. Установите PowerShell.
  2. Создайте шаблон и (необязательно) файл параметров.
  3. В PowerShell войдите в свою учетную запись Azure.
  4. Создайте группу ресурсов, если ее еще нет.
  5. Протестируйте развертывание.
  6. Если необходимо, задайте режим развертывания.
  7. Разверните шаблон.

Подробные сведения о развертывании шаблонов Azure Resource Manager см. в разделе Развертывание ресурсов с использованием шаблонов Azure Resource Manager.

Установка 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. Для получения более подробных сведений перейдите по следующим ссылкам: