التشغيل السريع: استخدم قالب ARM في نشر Azure SignalR Service

يرشدك هذا التشغيل السريع خلال عملية إنشاء خدمة Azure SignalR باستخدام قالب Azure Resource Manager (ARM). يمكنك نشر Azure SignalR Service من خلال مدخل Microsoft Azure أو PowerShell أو CLI.

قالب Azure Resource Manager هو ملف JavaScript Object Notation (JSON) الذي يحدد البنية الأساسية والتكوين لمشروعك. يستخدم القالب عبارات توضيحية. يمكنك وصف النشر المقصود دون كتابة تسلسل أوامر البرمجة لإنشاء النشر.

إذا كانت بيئتك تلبي المتطلبات الأساسية وكنت معتاداً على استخدام قوالب "ARM"، فحدد زر "Deploy to Azure". يفتح القالب في مدخل Microsoft Azure بمجرد تسجيل الدخول.

Button to deploy the Resource Manager template to Azure.

المتطلبات الأساسية

حساب Azure مع اشتراك نشط. أنشئ حسابًا مجانًا.

مراجعة القالب

يُعدّ النموذج المستخدم في هذا التشغيل السريع مأخوذاً من قوالب التشغيل السريع من 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"
            }
          ]
        }
      }
    }
  ]
}

يحدد القالب مورد واحد لـ Azure:

نشر القالب

لنشر خدمة Azure SignalR باستخدام قالب ARM، حدد الارتباط التالي في مدخل Microsoft Azure:

Button to deploy the Resource Manager template to Azure.

في صفحة نشر Azure SignalR Service:

  1. إذا كنت ترغب، قم بتغيير Subscription من الإعداد الافتراضي.

  2. بالنسبة لمجموعة الموارد، حدد Create new، واكتب اسماً لمجموعة الموارد الجديدة، ثم حدّد OK.

  3. في حال قمت بإنشاء مجموعة موارد جديدة، فحدد المنطقة لمجموعة الموارد.

  4. إذا أردت، أدخل اسما جديدا والموقع (على سبيل المثال eastus2) لخدمة Azure SignalR. إذا لم يتم تحديد الاسم ، يتم إنشاؤه تلقائيا. يمكن أن يكون الموقع هو نفسه أو مختلفا عن منطقة مجموعة الموارد. إذا لم يتم تحديد الموقع ، فسيتم تعيينه افتراضيا إلى نفس المنطقة مثل مجموعة الموارد الخاصة بك.

  5. اختر Pricing Tier.(Free_F1 أو Standard_S1)،وأدخل Capacity (عدد وحدات SignalR)، واختر Service Mode على Default (يتطلب خادم مركزي)، أو Serverless (لا يسمح بأي اتصال بالخادم)، أو Classic (يتم توجيهه إلى الخادم المركزي فقط إذا كان لدى المحور اتصال بالخادم). الآن، اختر ما إذا كنت تريد تمكين سجلات الاتصال ivity أو تمكين سجلات المراسلة.

    إشعار

    بالنسبة لطبقة التسعير Free_F1، تقتصر السعة على وحدة واحدة.

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

  6. حدد "Review + create".

  7. اقرأ الشروط والأحكام، ثم حدد Create.

إشعار

قد يستغرق النشر بضع دقائق حتى يكتمل. لاحظ أسماء خدمة Azure SignalR ومجموعة الموارد، التي تستخدمها لمراجعة الموارد المنشورة لاحقاً.

مراجعة الموارد الموزعة

اتبع هذه الخطوات لرؤية نظرة عامة علىAzure SignalR Service الجديدة:

  1. في مدخل Microsoft Azure، ابحث عن SignalR وحددها.

  2. في قائمة SignalR، حدد الخدمة الجديدة. تظهر صفحة Overview لخدمةAzure SignalR Service الجديدة.

تنظيف الموارد

يمكنك حذف مجموعة الموارد عند انتهاء حاجتك إليها، وهذا سيؤدي إلى حذف الموارد الموجودة في مجموعة الموارد.

  1. في مدخل Azure، ابحث عن مجموعات المواردوحددها .

  2. في قائمة مجموعة الموارد، حدد اسم مجموعة الموارد الخاصة بك.

  3. في صفحة Overview من مجموعة الموارد لديك، حدد Delete resource group.

  4. في مربع حوار التأكيد، اكتب اسم مجموعة الموارد ثم حدد "Delete".

الخطوات التالية

للحصول على برنامج تعليمي خطوة بخطوة لإرشادك خلال عملية إنشاء قالب ARM، راجع: