البرنامج التعليمي: استخدم القالب الذي تم تصديره من مدخل Azure

تعمل، في سلسلة البرامج التعليمية هذه، على إنشاء قالب لنشر حساب التخزين في Azure. في البرنامجين التاليين، يمكنك إضافة ⁧⁩خطة خدمة التطبيقات⁧⁩، وموقع على ⁧⁩شبكة الإنترنت⁧⁩. يمكنك، بدلًا من إنشاء قوالب من البداية، التعرف على كيفية تصدير القوالب من مدخل Microsoft Azure وكيفية استخدام قوالب نماذج من قوالب التشغيل السريع في Azure. يمكنك تخصيص هذه القوالب للاستخدام الخاص بك. يركز هذا البرنامج التعليمي على تصدير القوالب وتخصيص النتيجة للقالب الخاص بك. تستغرق هذه التعليمات 14 دقيقة حتى تكتمل.

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

نوصي بإكمال ⁧⁩البرنامج التعليمي حول المخرجات⁧⁩؛ لكنه ليس إلزاميًا.

يجب أن يكون لديك Visual Studio Code مع ملحق Resource Manager Tools وإما Azure PowerShell أو Azure Command-Line Interface (CLI). لمزيد من المعلومات، راجع ⁧⁩أدوات القالب⁧⁩.

راجع القالب

في نهاية البرنامج التعليمي السابق، كان لقالبك ملف JSON التالي:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "type": "string",
      "minLength": 3,
      "maxLength": 11
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ],
  "outputs": {
    "storageEndpoint": {
      "type": "object",
      "value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
    }
  }
}

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

إنشاء خطة App Service

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

  2. حدد Create a resource.

  3. في خدمات Search وMarketplace، أدخل خطة خدمة التطبيقات، ثم حدد خطة App Service.

  4. حدد Create.

  5. في صفحة إنشاء خطة App Service، أدخل ما يلي:

    • الاشتراك حدد اشتراك Azure من القائمة المنسدلة.
    • ⁩Resource Group⁧⁩: حدد ⁧⁩Create new⁧⁩ من ثم حدد اسمًا. أدخل اسم مجموعة موارد يكون مختلفًا عن الاسم الذي كنت تستخدمه في سلسلة البرامج التعليمية هذه.
    • الاسم: أدخل اسما لخطة App Service.
    • نظام التشغيل: حدد Linux.
    • المنطقة: حدد موقع Azure من القائمة المنسدلة مثل وسط الولايات المتحدة.
    • مستوى التسعير: لتوفير التكاليف، حدد تغيير الحجم لتغيير SKU والحجم إلى Basic (B1) الأول ضمن التطوير \ الاختبار لأحمال العمل الأقل طلبا.

    لقطة شاشة لصفحة إنشاء خطة خدمة التطبيقات في مدخل Microsoft Azure.

  6. حدد "Review and create" .

  7. حدد Create. يستغرق إنشاء المورد بضع لحظات.

قالب التصدير

  1. حدد "Go to resource".

    لقطة شاشة لزر Go to resource في مدخل Microsoft Azure.

  2. من القائمة اليسرى ضمن Automation حدد تصدير قالب.

    لقطة شاشة لخيار قالب التصدير في مدخل Microsoft Azure.

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

  3. انظر إلى تعريف ⁧Microsoft.Web/serverfarms⁩ وتعريف المعلمة في القالب الذي تم تصديره. لا تحتاج إلى نسخ هذه المقاطع. يمكنك فقط استخدام هذا النموذج الذي تم تصديره كمثال على كيفية إضافة هذا المورد إلى القالب لديك.

    لقطة شاشة لرمز JSON للقالب الذي تم تصديره في مدخل Microsoft Azure.

هام

عادة ما يكون القالب المصدر مطولاً أكثر، مما قد ترغب عند إنشاء قالب. يتسم كائن SKU، على سبيل المثال وفي القالب الذي تم تصديره، بخمس خصائص. هذا القالب يعمل؛ ولكن يمكنك فقط استخدام الخاصية ⁧name⁩. يمكنك البدء بالقالب الذي تم تصديره، ثم تعديله كما تريد ليناسب متطلباتك.

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

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

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

قم بنسخ الملف بالكامل، واستبدال القالب بمحتوياته.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "type": "string",
      "minLength": 3,
      "maxLength": 11
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    },
    "appServicePlanName": {
      "type": "string",
      "defaultValue": "exampleplan"
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    },
    {
      "type": "Microsoft.Web/serverfarms",
      "apiVersion": "2021-03-01",
      "name": "[parameters('appServicePlanName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "B1",
        "tier": "Basic",
        "size": "B1",
        "family": "B",
        "capacity": 1
      },
      "kind": "linux",
      "properties": {
        "perSiteScaling": false,
        "reserved": true,
        "targetWorkerCount": 0,
        "targetWorkerSizeId": 0
      }
    }
  ],
  "outputs": {
    "storageEndpoint": {
      "type": "object",
      "value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
    }
  }
}

نشر القالب

استخدم إما Azure CLI أو Azure PowerShell لنشر القالب.

إذا لم تكن قد أنشأت مجموعة الموارد، فراجع إنشاء مجموعة موارد. يفترض المثال أنك قمت بتعيين المتغير ⁧templateFile⁩على المسار إلى ملف القالب، كما هو موضح في ⁧⁩البرنامج التعليمي الأول⁧⁩.

New-AzResourceGroupDeployment `
  -Name addappserviceplan `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile `
  -storagePrefix "store" `
  -storageSKU Standard_LRS

ملاحظة

إذا فشل التوزيع، فاستخدمverbose رمز التبديل للحصول على معلومات حول الموارد التي تقوم بإنشائها. استخدم مفتاح ⁧debug⁩ للحصول على مزيد من المعلومات لتصحيح الأخطاء.

تحقق من التوزيع

يمكنك التحقق من النشر باستكشاف مجموعة الموارد من مدخل Azure.

  1. تسجيل الدخول إلى ⁧⁩مدخل Microsoft Azure⁧⁩.
  2. من القائمة اليمنى، حدد مجموعات الموارد.
  3. حدد مجموعة الموارد التي قمت بنشرها.
  4. تحتوي مجموعة الموارد على حساب تخزين وخطة خدمة تطبيقات.

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

إذا كنت تنتقل إلى البرنامج التعليمي التالي، فلن تحتاج إلى حذف مجموعة الموارد.

إذا كنت تتوقف الآن، فقد ترغب في حذف مجموعة الموارد.

  1. من مدخل Azure، حدد ⁧⁩ResourceGroup⁧⁩ من القائمة اليسرى.
  2. اكتب اسم مجموعة الموارد في عامل التصفية لأي حقل....
  3. حدد المربع بجوار myResourceGroup وحدد myResourceGroup أو اسم مجموعة الموارد الذي اخترته.
  4. حدد Delete resource group من القائمة.

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

تعرفت على كيفية تصدير قالب من مدخل Microsoft Azure، وكيفية استخدام القالب الذي تم تصديره لتطوير القالب الخاص بك. يمكنك أيضًا استخدام قوالب التشغيل السريع في Azure لتبسيط تطوير القالب.