Início Rápido: Usar um modelo do ARM para implantar o Serviço do Azure SignalR

Este início rápido explica o processo de criação de um Serviço do Azure SignalR usando um modelo do ARM. Você pode implantar o Serviço do Azure SignalR por meio do portal do Azure, do PowerShell ou da CLI.

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

Se seu ambiente atender aos pré-requisitos e você estiver familiarizado com o uso de modelos ARM, selecione o botão Implantar no Azure. O modelo será aberto no portal do Azure depois que você se conectar.

Button to deploy the Resource Manager template to Azure.

Pré-requisitos

Uma conta do Azure com uma assinatura ativa. Crie um gratuitamente.

Examinar o modelo

O modelo usado neste início rápido é proveniente dos 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:

Implantar o modelo

Para implantar o Serviço do Azure SignalR usando o modelo do 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 do Azure SignalR:

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

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

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

  4. Se desejar, insira um novo Nome e o Local (Por exemplo, eastus2) do Serviço do Azure SignalR. Se Nome não for especificado, ele será gerado automaticamente. A Localização pode ser igual ou diferente da região do grupo de recursos. Se você não especificar uma Localização, ela será definida como a mesma região que o grupo de recursos.

  5. Escolha o Tipo de Preço (Free_F1 ou Standard_S1), insira a Capacidade (número de unidades do SignalR) e escolha um Modo de Serviço de Padrão (requer o servidor de hub), Sem servidor (não permite nenhuma conexão com o 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 os Logs de Conectividade ou Habilitar os Logs de Mensagens.

    Observação

    Para o tipo de preço Free_F1, a capacidade é limitada a uma unidade.

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

  6. Selecione Examinar + criar.

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

Observação

A implantação pode levar alguns minutos para ser concluída. Anote os nomes do Serviço do Azure SignalR e do grupo de recursos, que você usará para examinar os recursos implantados posteriormente.

Examinar os recursos implantados

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

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

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

Limpar os recursos

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

  1. No portal do Azure pesquise e selecione Grupos de recursos.

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

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

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

Próximas etapas

Para obter um tutorial passo a passo que orienta você durante o processo de criação de um modelo do ARM, confira:

Criar e implantar seu primeiro modelo do Resource Manager[