Guia de início rápido: usar um modelo ARM para implantar o Serviço Azure SignalR

Este guia de início rápido orienta você pelo processo de criação de um Serviço SignalR do Azure usando um modelo do Azure Resource Manager (ARM). Você pode implantar o Serviço Azure SignalR por meio do portal do Azure, PowerShell ou CLI.

Um modelo do Azure Resource Manager é um arquivo JSON (JavaScript Object Notation) que define a infraestrutura e a configuração do seu projeto. O modelo utiliza sintaxe declarativa. Você descreve a implantação pretendida sem escrever a sequência de comandos de programação para criar a implantação.

Se o seu ambiente cumpre os pré-requisitos e se está familiarizado com a utilização de modelos ARM, selecione o botão Implementar no Azure. O modelo é aberto no portal do Azure assim que você entrar.

Button to deploy the Resource Manager template to Azure.

Pré-requisitos

Uma conta do Azure com uma subscrição ativa. Crie um gratuitamente.

Rever o modelo

O modelo utilizado neste início rápido pertence aos Modelos de Início Rápido do 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"
            }
          ]
        }
      }
    }
  ]
}

O modelo define um recurso do Azure:

Implementar o modelo

Para implantar o Serviço Azure SignalR usando o modelo ARM, selecione o seguinte link no portal do Azure:

Button to deploy the Resource Manager template to Azure.

Na página Implantar um Serviço Azure SignalR:

  1. Se desejar, altere a Assinatura do padrão.

  2. Em Grupo de recursos, selecione Criar novo, insira um nome para o novo grupo de recursos e selecione OK.

  3. Se você criou um novo grupo de recursos, selecione uma Região para o grupo de recursos.

  4. Se desejar, insira um novo Nome e o Local (Por exemplo , eastus2) do Serviço Azure SignalR. Se Name não for especificado, ele será gerado automaticamente. O Local pode ser igual ou diferente da região do grupo de recursos. Se Localização não for especificada, o padrão será a mesma região do seu grupo de recursos.

  5. Escolha o Nível de Preço (Free_F1 ou Standard_S1), insira a Capacidade (número de unidades SignalR) e escolha um Modo de Serviço Padrão (requer servidor de hub), Sem servidor (não permite nenhuma conexão de servidor) ou Clássico (roteado para o servidor de hub somente se o hub tiver conexão com o servidor). Agora, escolha se deseja Habilitar logs de conectividade ou Habilitar logs de mensagens.

    Nota

    Para o Free_F1 nível de preço, a capacidade é limitada a 1 unidade.

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

  6. Selecione Rever + criar.

  7. Leia os termos e condições e selecione Criar.

Nota

A implementação pode demorar alguns minutos. Observe os nomes do Serviço Azure SignalR e do grupo de recursos, que você usa para revisar os recursos implantados posteriormente.

Rever os recursos implementados

Siga estas etapas para ver uma visão geral do seu novo Serviço Azure SignalR:

  1. No portal do Azure, procure e selecione SignalR.

  2. Na lista SignalR, selecione seu novo serviço. A página Visão geral do novo Serviço Azure SignalR é exibida.

Clean up resources (Limpar recursos)

Quando não for mais necessário, exclua o grupo de recursos, que exclui os recursos do grupo de recursos.

  1. No portal do Azure, procure e selecione Grupos de recursos.

  2. Na lista de grupos de recursos, escolha o nome do seu grupo de recursos.

  3. Na página Visão geral do seu grupo de recursos, selecione Excluir grupo de recursos.

  4. Na caixa de diálogo de confirmação, digite o nome do grupo de recursos e selecione Excluir.

Próximos passos

Para obter um tutorial passo a passo que o orienta pelo processo de criação de um modelo ARM, consulte: