Share via


Quickstart: Een ARM-sjabloon gebruiken om Azure SignalR Service te implementeren

In deze quickstart wordt u begeleid bij het maken van een Azure SignalR-service met behulp van een ARM-sjabloon (Azure Resource Manager). U kunt de Azure SignalR-service implementeren via Azure Portal, PowerShell of de CLI.

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

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 geopend in Azure Portal nadat u zich hebt aangemeld.

Button to deploy the Resource Manager template to Azure.

Vereisten

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

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",
  "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"
            }
          ]
        }
      }
    }
  ]
}

Het sjabloon definieert één Azure-resource:

De sjabloon implementeren

Als u de Azure SignalR-service wilt implementeren met behulp van de ARM-sjabloon, selecteert u de volgende koppeling in Azure Portal:

Button to deploy the Resource Manager template to Azure.

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 (bijvoorbeeld eastus2) van de Azure SignalR-service in. Als naam niet is opgegeven, wordt deze automatisch gegenereerd. De locatie kan hetzelfde zijn of afwijken van de regio van de resourcegroep. Als locatie niet is opgegeven, wordt deze standaard ingesteld op dezelfde regio als uw resourcegroep.

  5. Kies de prijscategorie (Free_F1 of Standard_S1), voer de capaciteit (het aantal SignalR-eenheden) in en kies de servicemodusStandaard (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). Kies nu of u Verbinding maken iviteitslogboeken wilt inschakelen of Berichtenlogboeken wilt inschakelen.

    Notitie

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

    Screenshot of the ARM template for creating an Azure SignalR Service in the 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: