البرنامج التعليمي: إنشاء مثيلات مورد متعددة باستخدام قوالب ARM

تعلّم كيفية تكرار قالب Azure Resource Manager (قالب ARM) لإنشاء مثيلات مورد Azure متعددة. في هذا البرنامج التعليمي، ستقوم بتعديل قالب لإنشاء ثلاثة مثيلات لحساب تخزين.

رسم تخطيطي يوضح Azure Resource Manager إنشاء مثيلات متعددة.

يغطي هذا البرنامج التعليمي المهام التالية:

  • فتح قالب "التشغيل السريع"
  • تحرير القالب
  • نشر القالب

إذا لم يكن لديك اشتراك في Azure، فأنشئ free account قبل البدء.

بالنسبة إلى الوحدة النمطية Learn التي تغطي نسخة الموارد، راجع إدارة عمليات النشر السحابية المعقدة باستخدام ميزات قالب ARM المتقدمة.

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

لإكمال هذه المقالة، تحتاج إلى الآتي:

فتح قالب "التشغيل السريع"

قوالب Azure Quickstart هي مستودع لقوالب ARM. بدلاً من إنشاء قالب من البداية، يمكنك العثور على نموذج قالب وتخصيصه. يطلق على القالب المستخدَم في بدء بداية سريعة هذا إنشاء حساب تخزين قياسي. يحدد القالب مورد حساب Azure Storage.

  1. في "Visual Studio Code"، حدِّد "File">"Open File" .

  2. في اسم الملف، أَلصِق عنوان URL الآتي:

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
    
  3. حدد فتح لفتح الملف.

  4. Microsoft.Storage/storageAccounts هناك مورد محدد في القالب. مقارنة القالب بـ مرجع القالب. من المفيد أن يكون لديك بعض الفهم الأساسي للقالب قبل تخصيصه.

  5. حدد ملف>حفظ باسم لحفظ نسخة من الملف باسم azuredeploy.json على جهاز الكمبيوتر المحلي.

تحرير القالب

ينشئ القالب الحالي حساب تخزين واحداً. يمكنك تخصيص القالب لإنشاء ثلاثة حسابات تخزين.

من Visual Studio Code، قم بإجراء التغييرات الأربعة الآتية:

لقطة شاشة ل Visual Studio Code مع Azure Resource Manager إنشاء مثيلات متعددة.

  1. يمكنك إضافة copy عنصر إلى تعريف موارد حساب التخزين. في copy العنصر، يمكنك تحديد عدد مرات التكرار والعامل المتغير لهذه الحلقة. يجب أن تكون قيمة العد عدداً صحيحاً موجباً، ولا ينبغي أن تتجاوز الرقم 800.

    "copy": {
      "name": "storageCopy",
      "count": 3
    },
    
  2. تقوم copyIndex() الدالة بإعادة التكرار الحالي في الحلقة. يمكنك استخدام الفهرس كبادئة الاسم. copyIndex() قائم على صفر. لإزاحة قيمة الفهرس، يمكنك إدخال قيمة في الدالة copyIndex(). على سبيل المثال، ⁧copyIndex(1)⁩.

    "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
    
    
    
  3. احذف تعريف المعلمة storageAccountName ، لأنه لم يعد مستخدما.

  4. يمكنك حذف outputs العنصر. لم يعد مطلوباً.

  5. يمكنك حذف metadata العنصر.

يبدو القالب المكتمل بالشكل الآتي:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageAccountType": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GRS",
        "Standard_GZRS",
        "Standard_LRS",
        "Standard_RAGRS",
        "Standard_RAGZRS",
        "Standard_ZRS"
      ],
      "metadata": {
        "description": "Storage Account type"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for the storage account."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-06-01",
      "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageAccountType')]"
      },
      "kind": "StorageV2",
      "copy": {
        "name": "storageCopy",
        "count": 3
      },
      "properties": {}
    }
  ]
}

حفظ التغييرات.

لمزيد من المعلومات حول إنشاء مثيلات متعددة، راجع تكرار الموارد في قوالب ARM

نشر القالب

  1. سجل الدخول إلى Azure Cloud Shell

  2. يمكنك اختيار بيئتك المفضلة عن طريق تحديد PowerShell أو Bash (لـ CLI) في الزاوية العلوية اليسرى. يلزم إعادة تشغيل Shell عند التبديل.

    ملف تحميل Cloud Shell في مدخل Microsoft Azure

  3. حدد Upload/download files، ثم حدد Upload. راجع لقطة الشاشة السابقة. حدد الملف الذي قمت بحفظه في القسم السابق. بعد تحميل الملف، يمكنك استخدام الأمر ls والأمر cat للتحقق من تحميل الملف بنجاح.

  4. من Cloud Shell، قم بإجراء الأوامر الآتية. حدد علامة التبويب لعرض رمز PowerShell أو رمز CLI.

    echo "Enter a project name that is used to generate resource group name:" &&
    read projectName &&
    echo "Enter the location (i.e. centralus):" &&
    read location &&
    resourceGroupName="${projectName}rg" &&
    az group create --name $resourceGroupName --location "$location" &&
    az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json"
    

بعد نشر قالب ناجح، يمكنك عرض حسابات التخزين الثلاثة التي تم إنشاؤها في مجموعة الموارد المحددة. قارن أسماء حسابات التخزين بتعريف الاسم المحدد في القالب.

echo "Enter a project name that is used to generate resource group name:" &&
read projectName &&
resourceGroupName="${projectName}rg" &&
az storage account list --resource-group $resourceGroupName &&
echo "Press [ENTER] to continue ..."

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

عندما لا تكون موارد Azure مطلوبة، قم بتنظيف الموارد التي قمت بنشرها عن طريق حذف مجموعة الموارد.

  1. من مدخل Azure، حدد مجموعة الموارد من القائمة اليمنى.
  2. أدخل اسم مجموعة الموارد في الحقل Filter by name.
  3. حدد اسم مجموعة الموارد. وسترى إجمالي ثلاثة موارد في مجموعة الموارد.
  4. حدد Delete resource group من القائمة.

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

لقد تعلمت في هذا البرنامج التعليمي كيفية إنشاء مثيلات حساب تخزين متعددة. وفي البرنامج التعليمي التالي، ستقوم بتطوير قالب يشتمل على موارد متعددة وأنواع موارد متعددة. علماً بأن بعض الموارد عبارة عن موارد تابعة.