Quickstart: een Azure SignalR-service implementeren met behulp van een ARM-sjabloon

In deze quickstart wordt beschreven hoe u een ARM-sjabloon (Azure Resource Manager) gebruikt om een Azure SignalR-service te maken. U kunt de Azure SignalR-service implementeren via Azure Portal, PowerShell of de CLI.

Een Resource Manager-sjabloon is een JavaScript Object Notation-bestand (JSON) dat de infrastructuur en configuratie van uw project definieert. Voor de sjabloon is declaratieve syntaxis vereist. In declaratieve syntaxis beschrijft u de beoogde implementatie zonder dat u de reeks programmeeropdrachten voor het maken van de implementatie hoeft te schrijven.

Als uw omgeving voldoet aan de vereisten en u benkend bent met het gebruik van ARM-sjablonen, selecteert u de knop Implementeren naar Azure. De sjabloon wordt in Azure Portal geopend zodra u zich hebt aangemeld.

Knop voor het implementeren van Azure SignalR Service in Azure met behulp van een ARM-sjabloon in Azure Portal.

Vereisten

Een Azure-account met een actief abonnement. Maak er gratis een.

De sjabloon controleren

De sjabloon die in deze quickstart wordt gebruikt, komt uit Azure-snelstartsjablonen.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "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"
      ],
      "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": "string",
      "defaultValue": "true",
      "allowedValues": [
        "true",
        "false"
      ]
    },
    "enableMessagingLogs": {
      "type": "string",
      "defaultValue": "true",
      "allowedValues": [
        "true",
        "false"
      ]
    },
    "enableLiveTrace": {
      "type": "string",
      "defaultValue": "true",
      "allowedValues": [
        "true",
        "false"
      ]
    },
    "allowedOrigins": {
      "type": "array",
      "defaultValue": [
        "https://foo.com",
        "https://bar.com"
      ],
      "metadata": {
        "description": "Set the list of origins that should be allowed to make cross-origin calls."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.SignalRService/SignalR",
      "apiVersion": "2020-07-01-preview",
      "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": "[parameters('enableConnectivityLogs')]"
          },
          {
            "flag": "EnableMessagingLogs",
            "value": "[parameters('enableMessagingLogs')]"
          },
          {
            "flag": "EnableLiveTrace",
            "value": "[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"
            }
          ]
        }
      }
    }
  ]
}

Het sjabloon definieert één Azure-resource:

De sjabloon implementeren

Selecteer de volgende koppeling om Azure SignalR Service te implementeren met behulp van de ARM-sjabloon in Azure Portal:

Knop voor het implementeren van Azure SignalR Service in Azure met behulp van de ARM-sjabloon in Azure Portal.

Op de pagina Een Azure SignalR-service implementeren:

  1. Wijzig desgewenst Abonnement van de standaardinstelling in een ander abonnement.

  2. Selecteer voor Resourcegroep de optie Nieuwe maken, voer een naam in voor de nieuwe resourcegroep en selecteer OK.

  3. Als u een nieuwe resourcegroep hebt gemaakt, selecteert u een Regio voor de resourcegroep.

  4. Voer desgewenst een nieuwe naam en de locatie in (zoals eastus2) van de Azure SignalR-service. Als u geen naam opgeeft, wordt deze automatisch gegenereerd. De locatie voor de Azure SignalR-service kan verschillen van de regio van de resourcegroep. Als u geen locatie opgeeft, wordt deze ingesteld op de regio van de resourcegroep.

  5. Kies de prijscategorie (Free_F1 of Standard_S1), voer de capaciteit (het aantal SignalR-eenheden) in en kies de servicemodus Standaard (hiervoor is een centrale server vereist), Serverloos (er wordt geen serververbinding toegestaan) of Klassiek (alleen routeren naar de centrale server als de hub is verbonden met de server). Schakel Connectiviteitslogboeken of Messaging-logboeken in.

    Notitie

    De capaciteit van de prijscategorie Free_F1 is beperkt tot 1 eenheid.

    Schermopname van de ARM-sjabloon voor het maken van een Azure SignalR-service in Azure Portal.

  6. Selecteer Controleren + maken.

  7. Lees de voorwaarden en selecteer vervolgens Maken.

Notitie

De implementatie kan enkele minuten duren. Noteer de namen van de Azure SignalR-service en de resourcegroep die u gebruikt om de geïmplementeerde resources later te bekijken.

Geïmplementeerde resources bekijken

Volg deze stappen om een overzicht van uw nieuwe Azure SignalR-service te bekijken:

  1. Zoek en selecteer SignalR in de Azure-portal.

  2. Selecteer uw nieuwe SignalR-service in de lijst. De pagina Overzicht voor de nieuwe Azure SignalR-service wordt weergegeven.

Resources opschonen

Als de resourcegroep niet meer nodig is, verwijdert u deze. Hierdoor worden ook de resources in de resourcegroep verwijderd.

  1. Zoek en selecteer Resourcegroepen in Azure Portal.

  2. Kies in de lijst met resourcegroepen de naam van uw resourcegroep.

  3. Selecteer op de pagina Overzicht van uw resourcegroep de optie Resourcegroep verwijderen.

  4. Typ de naam van de resourcegroep in het bevestigingsvenster. Selecteer vervolgens Verwijderen.

Volgende stappen

Zie voor een stapsgewijze zelfstudie die u door het proces van het maken van een ARM-sjabloon leidt: