البرنامج التعليمي: إنشاء مثيلات مورد متعددة باستخدام قوالب ARM
تعلّم كيفية تكرار قالب Azure Resource Manager (قالب ARM) لإنشاء مثيلات مورد Azure متعددة. في هذا البرنامج التعليمي، ستقوم بتعديل قالب لإنشاء ثلاثة مثيلات لحساب تخزين.
يشمل البرنامج التعليمي المهام التالية:
- فتح قالب "التشغيل السريع"
- تحرير القالب
- نشر القالب
في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
بالنسبة إلى الوحدة النمطية Microsoft Learn التي تغطي نسخة الموارد، راجع إدارة عمليات النشر السحابية المعقدة باستخدام ميزات قالب ARM المتقدمة.
المتطلبات الأساسية
لإكمال هذه المقالة، تحتاج إلى الآتي:
- Visual Studio Code مع ملحق Resource Manager Tools. لمزيد من المعلومات، راجع التشغيل السريع: إنشاء قوالب ARM باستخدام Visual Studio Code.
فتح قالب "التشغيل السريع"
قوالب Azure Quickstart هي مستودع لقوالب ARM. بدلاً من إنشاء قالب من البداية، يمكنك العثور على نموذج قالب وتخصيصه. يطلق على القالب المستخدَم في بدء التشغيل السريع هذا إنشاء حساب تخزين قياسي. يحدد القالب مورد حساب Azure Storage.
من Visual Studio Code، حدد ملف>فتح الملف.
في اسم الملف، أَلصِق عنوان URL الآتي:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
حدد Open لفتح الملف.
Microsoft.Storage/storageAccounts
هناك مورد معرف في القالب. مقارنة القالب بـ مرجع القالب. من المفيد أن يكون لديك بعض الفهم الأساسي للقالب قبل تخصيصه.لحفظ الملف، حدد حفظ الملف>باسم. احفظ الملف ك azuredeploy.json إلى الكمبيوتر المحلي.
تحرير القالب
ينشئ القالب الحالي حساب تخزين واحداً. يمكنك تخصيص القالب لإنشاء ثلاثة حسابات تخزين.
من Visual Studio Code، قم بإجراء التغييرات الأربعة الآتية:
يمكنك إضافة
copy
عنصر إلى تعريف موارد حساب التخزين. فيcopy
العنصر ، حدد عدد التكرارات ومتغير لهذه الحلقة. يجب أن تكون قيمة العد عدداً صحيحاً موجباً، ولا ينبغي أن تتجاوز الرقم 800."copy": { "name": "storageCopy", "count": 3 },
تقوم
copyIndex()
الدالة بإعادة التكرار الحالي في الحلقة. استخدم الفهرس كبادئة الاسم.copyIndex()
قائم على صفر. لإزاحة قيمة الفهرس، يمكنك إدخال قيمة في الدالةcopyIndex()
. على سبيل المثال،copyIndex(1)
"name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
احذف تعريف المعلمة
storageAccountName
، لأنه لم يعد مستخدما.يمكنك حذف
outputs
العنصر. لم يعد مطلوباً.يمكنك حذف
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
نشر القالب
سجل الدخول إلى Azure Cloud Shell
اختر بيئتك المفضلة بتحديد PowerShell أو Bash (لـ CLI) في الزاوية العلوية اليسرى. يلزم إعادة تشغيل Shell عند التبديل.
حدد تحميل/تنزيل ملفات، ثم حدد تحميل. راجع لقطة الشاشة السابقة. حدد الملف الذي قمت بحفظه في القسم السابق. بعد تحميل الملف، يمكنك استخدام الأمر
ls
والأمرcat
للتحقق من تحميل الملف بنجاح.من "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 مطلوبة، قم بتنظيف الموارد التي قمت بنشرها عن طريق حذف مجموعة الموارد.
- من مدخل Azure، حدد مجموعة الموارد من القائمة اليمنى.
- أدخل اسم مجموعة الموارد في الحقل Filter by name.
- حدد اسم مجموعة الموارد. وسترى إجمالي ثلاثة موارد في مجموعة الموارد.
- حدد Delete resource group من القائمة.
الخطوات التالية
لقد تعلمت في هذا البرنامج التعليمي كيفية إنشاء مثيلات حساب تخزين متعددة. وفي البرنامج التعليمي التالي، ستقوم بتطوير قالب يشتمل على موارد متعددة وأنواع موارد متعددة. علماً بأن بعض الموارد عبارة عن موارد تابعة.