البرنامج التعليمي: إنشاء مثيلات مورد متعددة باستخدام قوالب ARM
تعلّم كيفية تكرار قالب Azure Resource Manager (قالب ARM) لإنشاء مثيلات مورد Azure متعددة. في هذا البرنامج التعليمي، ستقوم بتعديل قالب لإنشاء ثلاثة مثيلات لحساب تخزين.
يغطي هذا البرنامج التعليمي المهام التالية:
- فتح قالب "التشغيل السريع"
- تحرير القالب
- نشر القالب
إذا لم يكن لديك اشتراك في Azure، فأنشئ free account قبل البدء.
بالنسبة إلى الوحدة النمطية Learn التي تغطي نسخة الموارد، راجع إدارة عمليات النشر السحابية المعقدة باستخدام ميزات قالب ARM المتقدمة.
المتطلبات الأساسية
لإكمال هذه المقالة، تحتاج إلى الآتي:
- "Visual Studio Code" إلى جانب ملحق "Resource Manager Tools". راجع بدء بداية سريعة: إنشاء قوالب ARM باستخدام Visual Studio Code.
فتح قالب "التشغيل السريع"
قوالب Azure Quickstart هي مستودع لقوالب ARM. بدلاً من إنشاء قالب من البداية، يمكنك العثور على نموذج قالب وتخصيصه. يطلق على القالب المستخدَم في بدء بداية سريعة هذا إنشاء حساب تخزين قياسي. يحدد القالب مورد حساب Azure Storage.
في "Visual Studio Code"، حدِّد "File">"Open File" .
في اسم الملف، أَلصِق عنوان URL الآتي:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
حدد فتح لفتح الملف.
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 عند التبديل.
حدد Upload/download files، ثم حدد Upload. راجع لقطة الشاشة السابقة. حدد الملف الذي قمت بحفظه في القسم السابق. بعد تحميل الملف، يمكنك استخدام الأمر
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 من القائمة.
الخطوات التالية
لقد تعلمت في هذا البرنامج التعليمي كيفية إنشاء مثيلات حساب تخزين متعددة. وفي البرنامج التعليمي التالي، ستقوم بتطوير قالب يشتمل على موارد متعددة وأنواع موارد متعددة. علماً بأن بعض الموارد عبارة عن موارد تابعة.