Inicio rápido: Uso de una plantilla de Resource Manager para implementar Azure SignalR Service

Este inicio rápido le guía por el proceso de creación de una instancia de Azure SignalR Service mediante una plantilla de Azure Resource Manager (ARM). Azure SignalR Service se puede implementar mediante Azure Portal, PowerShell o la CLI.

Una Plantilla de Azure Resource Manager es un archivo de notación de objetos JavaScript (JSON) que define tanto la infraestructura como la configuración de un proyecto. La plantilla usa sintaxis declarativa. Se describe la implementación deseada sin escribir la secuencia de comandos de programación para crear la implementación.

Si su entorno cumple los requisitos previos y está familiarizado con el uso de plantillas de Resource Manager, seleccione el botón Implementar en Azure. La plantilla se abre en Azure Portal tras el inicio de sesión.

Button to deploy the Resource Manager template to Azure.

Requisitos previos

Una cuenta de Azure con una suscripción activa. cree una de forma gratuita.

Revisión de la plantilla

La plantilla usada en este inicio rápido forma parte de las plantillas de inicio rápido de 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"
            }
          ]
        }
      }
    }
  ]
}

La plantilla define un recurso de Azure:

Implementación de la plantilla

Para implementar Azure SignalR Service mediante la plantilla de ARM, seleccione el siguiente vínculo en Azure Portal:

Button to deploy the Resource Manager template to Azure.

En la página Implementación de Azure SignalR Service:

  1. Si lo desea, cambie el valor predeterminado de Suscripción.

  2. En Grupo de recursos, seleccione Crear nuevo y, después, especifique un nombre válido para el nuevo grupo de recursos y seleccione Aceptar.

  3. Si ha creado un grupo de recursos, seleccione un valor de Región para el grupo de recursos.

  4. Si lo desea, escriba un nuevo nombre y la ubicación (por ejemplo, eastus2) de Azure SignalR Service. Si no se especifica un Nombre, se genera automáticamente. La Ubicación puede ser la misma o diferente de la región del grupo de recursos. Si no se especifica una Ubicación, el valor predeterminado es la misma región que el grupo de recursos.

  5. En Pricing Tier (Plan de tarifa), elija (Free_F1 o Standard_S1), escriba el valor de Capacity (Capacidad) (número de unidades de SignalR) y, en Service Mode (Modo de servicio), elija Default (Predeterminado) (se requiere un servidor concentrador), Serverless (Sin servidor) (no permite ninguna conexión de servidor) o Classic (Clásico) (se enruta al servidor concentrador solo si el concentrador tiene conexión de servidor). Ahora, elija entre Enable Connectivity Logs (Habilitar registros de conectividad) o Enable Messaging Logs (Habilitar registros de mensajería).

    Nota:

    En el plan de tarifa Free_F1, la capacidad está limitada a una unidad.

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

  6. Seleccione Revisar + crear.

  7. Después de leer los términos y condiciones, seleccione Crear.

Nota

La implementación puede tardar unos minutos en completarse. Anote los nombres de la instancia de Azure SignalR Service y del grupo de recursos, que se usa para revisar más adelante los recursos implementados.

Revisión de los recursos implementados

Para ver información general de la nueva instancia de Azure SignalR Service, siga estos pasos:

  1. En Azure Portal, busque y seleccione SignalR.

  2. En la lista de SignalR, seleccione el nuevo servicio. Aparece la página Información general de la nueva instancia de Azure SignalR Service.

Limpieza de recursos

Cuando ya no lo necesite, elimine el grupo de recursos, con lo que se eliminan los recursos que contiene.

  1. En Azure Portal, busque la opción Grupos de recursos y selecciónela.

  2. En la lista de los grupos de recursos, elija el nombre del grupo de recursos.

  3. En la página de información general del grupo de recursos, seleccione Eliminar grupo de recursos.

  4. En el cuadro de diálogo de confirmación, escriba el nombre del grupo de recursos y seleccione Eliminar.

Pasos siguientes

Para ver un tutorial paso a paso que le guíe en el proceso de creación de una plantilla de Resource Manager, consulte:

Creación e implementación de su primera plantilla de Resource Manager[