Dela via


Snabbstart: Använda en ARM-mall för att distribuera Azure SignalR Service

Den här snabbstarten vägleder dig genom processen att skapa en Azure SignalR Service med hjälp av en ARM-mall (Azure Resource Manager). Du kan distribuera Azure SignalR Service via Azure-portalen, PowerShell eller CLI.

En Azure Resource Manager-mall är en JSON-fil (JavaScript Object Notation) som definierar infrastrukturen och konfigurationen för projektet. Mallen använder deklarativ syntax. Du beskriver den avsedda distributionen utan att skriva sekvensen med programmeringskommandon för att skapa distributionen.

Om din miljö uppfyller förhandskraven och du är van att använda ARM-mallar väljer du knappen Distribuera till Azure. Mallen öppnas i Azure-portalen när du har loggat in.

Knapp för att distribuera Resource Manager-mallen till Azure.

Förutsättningar

Ett Azure-konto med en aktiv prenumeration. Skapa en kostnadsfritt.

Granska mallen

Mallen som används i den här snabbstarten kommer från Azure-snabbstartsmallar.

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

Mallen definierar en Azure-resurs:

Distribuera mallen

Om du vill distribuera Azure SignalR Service med hjälp av ARM-mallen väljer du följande länk i Azure-portalen:

Knapp för att distribuera Resource Manager-mallen till Azure.

På sidan Distribuera en Azure SignalR Service :

  1. Om du vill kan du ändra prenumerationen från standardvärdet.

  2. För Resursgrupp väljer du Skapa ny, anger ett namn för den nya resursgruppen och väljer OK.

  3. Om du har skapat en ny resursgrupp väljer du en region för resursgruppen.

  4. Om du vill anger du ett nytt namn och platsen (till exempel eastus2) för Azure SignalR Service. Om Namn inte anges genereras det automatiskt. Platsen kan vara densamma eller skilja sig från resursgruppens region. Om Plats inte har angetts är den standard samma region som resursgruppen.

  5. Välj prisnivå (Free_F1 eller Standard_S1), ange kapacitet (antal SignalR-enheter) och välj standardtjänstläge (kräver hubbserver), Serverlös (tillåter inte någon serveranslutning) eller Klassisk (dirigeras endast till hubbserver om hubben har serveranslutning). Välj nu om du vill aktivera anslutningsloggar eller Aktivera meddelandeloggar.

    Kommentar

    För prisnivån Free_F1 är kapaciteten begränsad till 1 enhet.

    Skärmbild av ARM-mallen för att skapa en Azure SignalR Service i Azure-portalen.

  6. Välj Granska + skapa.

  7. Läs villkoren och välj sedan Skapa.

Kommentar

Det kan ta några minuter att slutföra distributionen. Observera namnen på Azure SignalR Service och resursgruppen som du använder för att granska de distribuerade resurserna senare.

Granska distribuerade resurser

Följ de här stegen för att se en översikt över din nya Azure SignalR Service:

  1. I Azure-portalen söker du efter och väljer SignalR.

  2. I listan SignalR väljer du din nya tjänst. Sidan Översikt för den nya Azure SignalR Service visas.

Rensa resurser

När den inte längre behövs tar du bort resursgruppen, som tar bort resurserna i resursgruppen.

  1. I Azure-portalen söker du efter och väljer Resursgrupper.

  2. I resursgruppslistan väljer du namnet på resursgruppen.

  3. På sidan Översikt för resursgruppen väljer du Ta bort resursgrupp.

  4. I bekräftelsedialogrutan skriver du namnet på resursgruppen och väljer sedan Ta bort.

Nästa steg

En stegvis självstudiekurs som vägleder dig genom processen att skapa en ARM-mall finns i: