Schnellstart: Verwenden einer ARM-Vorlage zum Bereitstellen von Azure SignalR Service

Dieser Schnellstart führt Sie durch den Prozess der Erstellung einer Azure SignalR Service-Instanz mithilfe einer Azure Resource Manager (ARM)-Vorlage. Sie können die Azure SignalR Service-Instanz im Azure-Portal, mit PowerShell oder mit der CLI bereitstellen.

Eine Azure Resource Manager-Vorlage ist eine JSON-Datei (JavaScript Object Notation), die die Infrastruktur und die Konfiguration für Ihr Projekt definiert. Die Vorlage verwendet eine deklarative Syntax. Sie beschreiben Ihre geplante Bereitstellung, ohne die Abfolge der Programmierbefehle zu schreiben, mit denen die Bereitstellung erstellt wird.

Wenn Ihre Umgebung die Voraussetzungen erfüllt und Sie mit der Verwendung von ARM-Vorlagen vertraut sind, klicken Sie auf die Schaltfläche In Azure bereitstellen. Die Vorlage öffnet sich im Azure-Portal, sobald Sie sich anmelden.

Button to deploy the Resource Manager template to Azure.

Voraussetzungen

Ein Azure-Konto mit einem aktiven Abonnement. Erstellen Sie ein kostenloses Konto.

Überprüfen der Vorlage

Die in dieser Schnellstartanleitung verwendete Vorlage stammt von der Seite mit den Azure-Schnellstartvorlagen.

{
  "$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"
            }
          ]
        }
      }
    }
  ]
}

Die Vorlage definiert eine Azure-Ressource:

Bereitstellen der Vorlage

Wählen Sie den folgenden Link im Azure-Portal aus, um die Azure SignalR Service-Instanz mithilfe der ARM-Vorlage bereitzustellen:

Button to deploy the Resource Manager template to Azure.

Auf der Seite Deploy an Azure SignalR service (Azure SignalR Service bereitstellen):

  1. Bei Bedarf können Sie die Standardeinstellung von Abonnement ändern.

  2. Wählen Sie unter Ressourcengruppe die Option Neu erstellen aus, geben Sie einen Namen für die neue Ressourcengruppe ein, und wählen Sie OK aus.

  3. Wenn Sie eine neue Ressourcengruppe erstellt haben, wählen Sie eine Region für die Ressourcengruppe aus.

  4. Sie können für die Azure SignalR Service-Instanz einen neuen Namen und Speicherort (beispielsweise eastus2) eingeben. Wenn Name nicht angegeben wird, wird er automatisch generiert. Der Standort kann mit dem Standort der Ressourcengruppe identisch sein oder sich davon unterscheiden. Wenn Standort nicht angegeben ist, wird standardmäßig dieselbe Region wie Ihre Ressourcengruppe verwendet.

  5. Wählen Sie den Tarif (Free_F1 oder Standard_S1) aus, geben Sie die Kapazität (Anzahl von SignalR-Einheiten) ein, und wählen Sie einen Dienstmodus aus: Standard (Hubserver erforderlich), Serverlos (keine Serververbindung zulässig) oder Klassisch (nur Weiterleitung an Hubserver, wenn der Hub über eine Serververbindung verfügt). Wählen Sie anschließend die Option Konnektivitätsprotokolle aktivieren oder Messagingprotokolle aktivieren aus.

    Hinweis

    Für den Tarif Free_F1 ist die Kapazität auf 1 Einheit beschränkt.

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

  6. Klicken Sie auf Überprüfen + erstellen.

  7. Lesen Sie die Geschäftsbedingungen, und wählen Sie dann Erstellen aus.

Hinweis

Die Bereitstellung kann einige Minuten dauern. Notieren Sie sich die Namen für die Azure SignalR Service-Instanz und die Ressourcengruppe, die Sie später benötigen, um die bereitgestellten Ressourcen zu überprüfen.

Überprüfen der bereitgestellten Ressourcen

Führen Sie die folgenden Schritte aus, um eine Übersicht über Ihre neue Azure SignalR Service-Instanz anzuzeigen:

  1. Suchen Sie im Azure-Portal nach SignalR, und wählen Sie diese Option aus.

  2. Wählen Sie in der SignalR-Liste Ihren neuen Dienst aus. Die Seite Übersicht für die neue Azure SignalR Service-Instanz wird angezeigt.

Bereinigen von Ressourcen

Wenn Sie die Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe. Dadurch werden die Ressourcen in der Ressourcengruppe gelöscht.

  1. Suchen Sie im Azure-Portal nach Ressourcengruppen, und wählen Sie die entsprechende Option aus.

  2. Wählen Sie in der Liste der Ressourcengruppen den Namen Ihrer Ressourcengruppe aus.

  3. Wählen Sie auf der Seite Übersicht der Ressourcengruppe die Option Ressourcengruppe löschen aus.

  4. Geben Sie im Bestätigungsdialogfeld den Namen Ihrer Ressourcengruppe ein, und wählen Sie Löschen aus.

Nächste Schritte

Ein Tutorial mit Schritt-für-Schritt-Anleitungen zum Erstellen einer ARM-Vorlage finden Sie unter folgendem Link: