Démarrage rapide : Utiliser un modèle ARM pour déployer Azure SignalR Service

Ce démarrage rapide vous guide dans le processus de création d’un service Azure SignalR à l’aide d’un modèle Azure Resource Manager (ARM). Vous pouvez déployer Azure SignalR Service par le biais du portail Azure, de PowerShell ou de l’interface CLI.

Un modèle Azure Resource Manager est un fichier JSON (JavaScript Object Notation) qui définit l’infrastructure et la configuration de votre projet. Le modèle utilise la syntaxe déclarative. Vous décrivez le déploiement que vous avez prévu sans écrire la séquence de commandes de programmation pour créer le déploiement.

Si votre environnement remplit les prérequis et que vous êtes déjà familiarisé avec l’utilisation des modèles ARM, sélectionnez le bouton Déployer sur Azure. Le modèle s’ouvre dans le portail Azure une fois que vous êtes connecté.

Button to deploy the Resource Manager template to Azure.

Prérequis

Compte Azure avec un abonnement actif. Créez-en un gratuitement.

Vérifier le modèle

Le modèle utilisé dans ce démarrage rapide est tiré des modèles de démarrage rapide 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"
            }
          ]
        }
      }
    }
  ]
}

Le modèle définit une ressource Azure :

Déployer le modèle

Pour déployer Azure SignalR Service en utilisant le modèle ARM, sélectionnez le lien suivant dans le portail Azure :

Button to deploy the Resource Manager template to Azure.

Dans la page Déployer un service Azure SignalR :

  1. Si vous le souhaitez, remplacez la valeur par défaut de l’option Abonnement.

  2. Pour Groupe de ressources, sélectionnez Créer, entrez un nom pour le nouveau groupe de ressources, puis sélectionnez OK.

  3. Si vous avez créé un groupe de ressources, sélectionnez une Région pour le groupe de ressources.

  4. Si vous le souhaitez, entrez un nouveau Nom et la Localisation (par exemple eastus2) du service Azure SignalR. Si le Nom n’est pas spécifié, il est généré automatiquement. L’Emplacement peut être identique à la région du groupe de ressources ou non. Si l’Emplacement n’est pas spécifié, la région choisie par défaut est la même que celle de votre groupe de ressources.

  5. Choisissez le Niveau tarifaire (Free_F1 ou Standard_S1), entrez la Capacité (nombre d’unités SignalR), puis choisissez le Mode de servicePar défaut (nécessite un serveur hub), Serverless (n’autorise pas de connexion serveur) ou Classique (routage vers le serveur hub uniquement si le hub dispose d’une connexion au serveur). Indiquez maintenant si vous souhaitez Activer les journaux de connectivité ou Activer les journaux de messagerie.

    Remarque

    Pour le niveau tarifaire Free_F1, la capacité est limitée à 1 unité.

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

  6. Sélectionnez Revoir + créer.

  7. Lisez les conditions générales, puis sélectionnez Créer.

Notes

Le déploiement peut prendre quelques minutes. Notez les noms du service Azure SignalR et du groupe de ressources, que vous utiliserez ultérieurement pour examiner les ressources déployées.

Vérifier les ressources déployées

Suivez ces étapes pour obtenir une vue d’ensemble de votre nouveau service Azure SignalR :

  1. Dans le portail Azure, recherchez et sélectionnez SignalR.

  2. Dans la liste SignalR, sélectionnez votre nouveau service. La page Vue d’ensemble pour le nouveau service Azure SignalR apparaît.

Nettoyer les ressources

Quand vous n’en avez plus besoin, supprimez le groupe de ressources, ce qui supprime également les ressources qu’il contient.

  1. Dans le portail Azure, recherchez et sélectionnez Groupes de ressources.

  2. Dans la liste des groupes de ressources, choisissez le nom de votre groupe de ressources.

  3. Dans la page Vue d’ensemble de votre groupe de ressources, sélectionnez Supprimer le groupe de ressources.

  4. Dans la boîte de dialogue de confirmation, entrez le nom de votre groupe de ressources, puis sélectionnez Supprimer.

Étapes suivantes

Pour obtenir un tutoriel pas à pas expliquant comment créer un modèle ARM, consultez :

Créer et déployer votre premier modèle Resource Manager[