Szybki start: wdrażanie usługi Azure SignalR Service przy użyciu szablonu usługi ARM

Ten przewodnik Szybki start przeprowadzi Cię przez proces tworzenia usługi Azure SignalR Service przy użyciu szablonu usługi Azure Resource Manager (ARM). Usługę Azure SignalR Service można wdrożyć za pomocą witryny Azure Portal, programu PowerShell lub interfejsu wiersza polecenia.

Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. W szablonie używana jest składnia deklaratywna. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.

Jeśli Twoje środowisko spełnia wymagania wstępne i masz doświadczenie w korzystaniu z szablonów ARM, wybierz przycisk Wdróż na platformie Azure. Po zalogowaniu szablon zostanie otwarty w witrynie Azure Portal.

Button to deploy the Resource Manager template to Azure.

Wymagania wstępne

Konto platformy Azure z aktywną subskrypcją. Utwórz je bezpłatnie.

Przegląd szablonu

Szablon używany w tym przewodniku Szybki start jest jednym z szablonów szybkiego startu platformy 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"
            }
          ]
        }
      }
    }
  ]
}

Szablon definiuje jeden zasób platformy Azure:

Wdrażanie szablonu

Aby wdrożyć usługę Azure SignalR Service przy użyciu szablonu usługi ARM, wybierz następujący link w witrynie Azure Portal:

Button to deploy the Resource Manager template to Azure.

Na stronie Wdrażanie usługi Azure SignalR Service:

  1. Jeśli chcesz, zmień wartość domyślną subskrypcji .

  2. W obszarze Grupa zasobów wybierz pozycję Utwórz nową, wprowadź nazwę nowej grupy zasobów i wybierz przycisk OK.

  3. Jeśli utworzono nową grupę zasobów, wybierz region dla grupy zasobów.

  4. Jeśli chcesz, wprowadź nową nazwę i lokalizację (na przykład eastus2) usługi Azure SignalR Service. Jeśli nazwa nie jest określona, jest generowana automatycznie. Lokalizacja może być taka sama lub inna niż region grupy zasobów. Jeśli lokalizacja nie jest określona, domyślnie jest to ten sam region, w którym znajduje się grupa zasobów.

  5. Wybierz warstwę cenową (Free_F1 lub Standard_S1), wprowadź wartość Pojemność (liczba jednostek usługi SignalR) i wybierz tryb usługi domyślny (wymaga serwera koncentratora), bezserwerowy (nie zezwala na żadne połączenie z serwerem) lub klasyczny (kierowany do serwera koncentratora tylko wtedy, gdy koncentrator ma połączenie z serwerem). Teraz wybierz opcję Włącz dzienniki Połączenie ivity lub Włącz dzienniki obsługi komunikatów.

    Uwaga

    W przypadku warstwy cenowej Free_F1 pojemność jest ograniczona do 1 jednostki.

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

  6. Wybierz pozycję Przejrzyj i utwórz.

  7. Przeczytaj warunki i postanowienia, a następnie wybierz pozycję Utwórz.

Uwaga

Wdrożenie może potrwać kilka minut. Zanotuj nazwy usługi Azure SignalR Service i grupy zasobów, która będzie używana do późniejszego przejrzenia wdrożonych zasobów.

Przeglądanie wdrożonych zasobów

Wykonaj następujące kroki, aby zapoznać się z omówieniem nowej usługi Azure SignalR Service:

  1. W witrynie Azure Portal wyszukaj i wybierz pozycję SignalR.

  2. Na liście SignalR wybierz nową usługę. Zostanie wyświetlona strona Przegląd nowej usługi Azure SignalR Service.

Czyszczenie zasobów

Gdy grupa zasobów nie jest już potrzebna, usuń ją, co spowoduje usunięcie zasobów w grupie zasobów.

  1. W witrynie Azure Portal wyszukaj i wybierz pozycję Grupy zasobów.

  2. Na liście grupy zasobów wybierz nazwę grupy zasobów.

  3. Na stronie Przegląd grupy zasobów wybierz pozycję Usuń grupę zasobów.

  4. W oknie dialogowym potwierdzenia wpisz nazwę grupy zasobów, a następnie wybierz pozycję Usuń.

Następne kroki

Aby zapoznać się z samouczkiem krok po kroku, który przeprowadzi Cię przez proces tworzenia szablonu usługi ARM, zobacz: