Краткое руководство. Развертывание Служба Azure SignalR с помощью шаблона ARM

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

Шаблон Azure Resource Manager — это файл нотации объектов JavaScript (JSON), который определяет инфраструктуру и конфигурацию проекта. В шаблоне используется декларативный синтаксис. Вы описываете предполагаемое развертывание без написания последовательности команд программирования для создания развертывания.

Если среда соответствует предварительным требованиям и вы знакомы с использованием шаблонов ARM, нажмите кнопку Развертывание в Azure. Шаблон откроется в портал Azure после входа.

Button to deploy the Resource Manager template to Azure.

Необходимые компоненты

Учетная запись Azure с активной подпиской. Создайте ее бесплатно.

Изучение шаблона

Шаблон, используемый в этом кратком руководстве, взят из шаблонов быстрого запуска Azure.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.9.1.41621",
      "templateHash": "7185938028783900711"
    }
  },
  "parameters": {
    "name": {
      "type": "string",
      "defaultValue": "[uniqueString(resourceGroup().id)]",
      "metadata": {
        "description": "The globally unique name of the SignalR resource to create."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for the SignalR resource."
      }
    },
    "pricingTier": {
      "type": "string",
      "defaultValue": "Standard_S1",
      "allowedValues": [
        "Free_F1",
        "Standard_S1",
        "Premium_P1"
      ],
      "metadata": {
        "description": "The pricing tier of the SignalR resource."
      }
    },
    "capacity": {
      "type": "int",
      "defaultValue": 1,
      "allowedValues": [
        1,
        2,
        5,
        10,
        20,
        50,
        100
      ],
      "metadata": {
        "description": "The number of SignalR Unit."
      }
    },
    "serviceMode": {
      "type": "string",
      "defaultValue": "Default",
      "allowedValues": [
        "Default",
        "Serverless",
        "Classic"
      ],
      "metadata": {
        "description": "Visit https://github.com/Azure/azure-signalr/blob/dev/docs/faq.md#service-mode to understand SignalR Service Mode."
      }
    },
    "enableConnectivityLogs": {
      "type": "bool",
      "defaultValue": true
    },
    "enableMessagingLogs": {
      "type": "bool",
      "defaultValue": true
    },
    "enableLiveTrace": {
      "type": "bool",
      "defaultValue": true
    },
    "allowedOrigins": {
      "type": "array",
      "defaultValue": [
        "*"
      ],
      "metadata": {
        "description": "Set the list of origins that should be allowed to make cross-origin calls."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.SignalRService/signalR",
      "apiVersion": "2022-02-01",
      "name": "[parameters('name')]",
      "location": "[parameters('location')]",
      "sku": {
        "capacity": "[parameters('capacity')]",
        "name": "[parameters('pricingTier')]"
      },
      "kind": "SignalR",
      "identity": {
        "type": "SystemAssigned"
      },
      "properties": {
        "tls": {
          "clientCertEnabled": false
        },
        "features": [
          {
            "flag": "ServiceMode",
            "value": "[parameters('serviceMode')]"
          },
          {
            "flag": "EnableConnectivityLogs",
            "value": "[string(parameters('enableConnectivityLogs'))]"
          },
          {
            "flag": "EnableMessagingLogs",
            "value": "[string(parameters('enableMessagingLogs'))]"
          },
          {
            "flag": "EnableLiveTrace",
            "value": "[string(parameters('enableLiveTrace'))]"
          }
        ],
        "cors": {
          "allowedOrigins": "[parameters('allowedOrigins')]"
        },
        "networkACLs": {
          "defaultAction": "Deny",
          "publicNetwork": {
            "allow": [
              "ClientConnection"
            ]
          },
          "privateEndpoints": [
            {
              "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e",
              "allow": [
                "ServerConnection"
              ]
            }
          ]
        },
        "upstream": {
          "templates": [
            {
              "categoryPattern": "*",
              "eventPattern": "connect,disconnect",
              "hubPattern": "*",
              "urlTemplate": "https://example.com/chat/api/connect"
            }
          ]
        }
      }
    }
  ]
}

Шаблон определяет один ресурс Azure:

Развертывание шаблона

Чтобы развернуть Служба Azure SignalR с помощью шаблона ARM, выберите следующую ссылку в портал Azure:

Button to deploy the Resource Manager template to Azure.

На странице Развертывание службы Azure SignalR:

  1. При необходимости замените подписку по умолчанию.

  2. В разделе Группа ресурсов щелкните Создать новую, введите имя новой группы ресурсов и нажмите ОК.

  3. Если вы создаете новую группу ресурсов, выберите для нее Регион.

  4. Если вы хотите, введите новое имя и расположение (например, eastus2) Служба Azure SignalR. Если имя не указано, он создается автоматически. Расположение может отличаться от региона группы ресурсов. Если расположение не указано, по умолчанию используется тот же регион, что и группа ресурсов.

  5. Выберите ценовую категорию (Free_F1 или Standard_S1), укажите емкость (число единиц SignalR) и выберите для параметра Режим службы значение По умолчанию (требуется сервер-концентратор), Бессерверный (не разрешающий подключение к серверу) или Классический (маршрутизация на сервер-концентратор, только если концентратор имеет подключение к серверу). Теперь выберите, следует ли включить журналыПодключение и включить журналы обмена сообщениями.

    Примечание.

    Для ценовой категории Free_F1 емкость ограничена 1 единицей.

    Screenshot of the ARM template for creating an Azure SignalR Service in the Azure portal.

  6. Выберите Review + create (Просмотреть и создать).

  7. Ознакомьтесь с условиями, а затем выберите Создать.

Примечание.

Завершение развертывания может занять несколько минут. Запишите имена службы Azure SignalR и группы ресурсов. Вы будете использовать их для просмотра развернутых ресурсов в дальнейшем.

Просмотр развернутых ресурсов

Чтобы просмотреть общие сведения о новой службе Azure SignalR, выполните следующие действия:

  1. На портале Azure найдите и выберите службу SignalR.

  2. Выберите свою новую службу в списке SignalR. Откроется страница Обзор для новой службы Azure SignalR.

Очистка ресурсов

Удалите ненужную группу ресурсов, когда надобность в ней отпадет. Ресурсы в ней также будут удалены.

  1. На портале Azure найдите и выберите элемент Группы ресурсов.

  2. В списке групп ресурсов выберите имя нужной группы ресурсов.

  3. На странице Обзор для этой группы ресурсов выберите Удалить группу ресурсов.

  4. В диалоговом окне подтверждения введите имя группы ресурсов и щелкните Удалить.

Следующие шаги

Пошаговые инструкции по созданию шаблона ARM см. в следующей статье: