التمرين - تعريف الموارد في قالب Bicep

مكتمل

إشعار

عند تنشيط بيئة الاختبار المعزولة لأول مرة والموافقة على الشروط، يرتبط حسابك في Microsoft بدليل جديد في Azure يسمى Microsoft Learn Sandbox. كما تتم إضافتك إلى اشتراك خاص يسمى اشتراك Concierge.

بالنسبة لموقع الويب الخاص بك لتشغيل اللعبة، قررت أولا إنشاء إثبات المبدأ عن طريق إنشاء قالب Bicep أساسي. في هذا التمرين، ستقوم بإنشاء حساب تخزين، وخطة وتطبيق Azure App Service. ستقوم في وقت لاحق بتعديل القالب لجعله أكثر قابلية لإعادة الاستخدام.

أثناء العملية، ستقوم بما يلي:

  • إنشاء قالب يقوم بتعريف مورد حساب تخزين واحد يتضمن قيم تعليمات برمجية مضمّنة.
  • تكوين إعدادات البنية الأساسية والتحقق من النتيجة.
  • إضافة خطة وتطبيق App Service إلى القالب.
  • تكوين إعدادات البنية الأساسية مرة أخرى لرؤية الموارد الجديدة.

يستخدم هذا التمرين ملحق Bicep لـ Visual Studio Code. تأكد من تثبيت هذا الملحق في التعليمة البرمجية لـ Visual Studio.

إنشاء قالب Bicep يحتوي على حساب تخزين

  1. فتح Visual Studio Code.

  2. قم بإنشاء ملف جديد يسمى main.bicep.

  3. احفظ الملف الفارغ بحيث يقوم Visual Studio Code بتحميل أدوات Bicep.

    يمكنك إما تحديد File>Save As، أو تحديد Ctrl+S في Windows (⌘+S في macOS). تأكد من تذكر المكان الذي حفظت فيه الملف. على سبيل المثال، قد ترغب في إنشاء مجلد قوالب لحفظ الملف فيه.

  4. أضف تعليمة Bicep البرمجية التالية إلى الملف. ستقوم بنشر القالب قريباً. من الجيد كتابة التعليمات البرمجية بنفسك بدلا من النسخ واللصق، حتى تتمكن من معرفة كيف تساعدك الأدوات على كتابة ملفات Bicep الخاصة بك.

    resource storageAccount 'Microsoft.Storage/storageAccounts@2022-09-01' = {
      name: 'toylaunchstorage'
      location: 'westus3'
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

    تلميح

    يلتزم Bicep بالمكان الذي تضع فيه فواصل الأسطر، لذا تأكد من عدم وضع فواصل الأسطر في أماكن مختلفة غير التي تم إدراجها هنا.

    لاحظ أن Visual Studio Code يقترح تلقائياً أسماء الخصائص أثناء الكتابة. يستوعب ملحق Bicep لـ Visual Studio Code الموارد التي تقوم بتعريفها في القالب الذي تستخدمه، ويقوم بسرد الخصائص والقيم المتوفرة التي يمكن أن تستخدمها.

  5. قم بتحديث اسم حساب التخزين من toylaunchstorage إلى شيء من المحتمل أن يكون فريدا، لأن كل حساب تخزين يحتاج إلى اسم فريد عالميا. تأكد من أن الاسم من 3 إلى 24 حرفا ويتضمن أحرفا صغيرة وأرقاما فقط.

    هام

    لا تتخطى هذه الخطوة. إذا قمت بذلك، فلن يُوزّع ملف Bicep بنجاح.

  6. حفظ التغييرات على الملف.

نشر قالب Bicep إلى Azure

لنشر هذا القالب إلى Azure، تحتاج إلى تسجيل الدخول إلى حساب Azure الخاص بك من محطة Visual Studio Code. تأكد من تثبيت Azure CLI، وتذكر أن تسجل الدخول بالحساب نفسه الذي استخدمته لتنشيط بيئة الاختبار المعزولة.

  1. في القائمة المحطة الطرفية، حدد محطة طرفية جديدة. عادة ما تفتح نافذة المحطة الطرفية في النصف السفلي من الشاشة.

  2. إذا كانت القشرة الموضحة على الجانب الأيمن من نافذة المحطة الطرفية هي bash، فإن shell الصحيح مفتوح ويمكنك التخطي إلى القسم التالي.

    Screenshot of the Visual Studio Code terminal window, with the bash option shown.

  3. إذا ظهرت shell بخلاف bash ، فحدد سهم القائمة المنسدلة shell، ثم حدد Git Bash.

    Screenshot of the Visual Studio Code terminal window, with the terminal shell dropdown shown and Git Bash Default selected.

  4. في قائمة الأصداف الطرفية، حدد bash.

    Screenshot of the Visual Studio Code terminal window, with the bash terminal selected.

  5. في المحطة الطرفية، اذهب إلى الدليل حيث قمت بحفظ القالب الخاص بك. على سبيل المثال، إذا حفظت قالبك في مجلد قوالب، يمكنك استخدام هذا الأمر:

    cd templates
    

تثبيت Bicep

قم بتشغيل الأمر التالي للتأكد من أن لديك أحدث إصدار من Bicep:

az bicep install && az bicep upgrade

تسجيل الدخول إلى Azure

  1. في محطة Visual Studio Code الطرفية، قم بتسجيل الدخول إلى Azure عن طريق تشغيل الأمر التالي:

    az login
    
  2. في المتصفح الذي يفتح، سجل الدخول إلى حسابك في Azure.

    تعرض المحطة الطرفية لـ Visual Studio Code قائمة الاشتراكات المقترنة بهذا الحساب.

  3. عيِّن الاشتراك الافتراضي لجميع أوامر Azure CLI التي تشغِّلها في هذه الجلسة.

    az account set --subscription "Concierge Subscription"
    

    إشعار

    إذا كنت قد استخدمت أكثر من بيئة اختبار معزولة واحدة مؤخرًا، فقد تعرض المحطة الطرفية أكثر من مثيل واحد لـ Concierge Subscription. في هذه الحالة، استخدم الخطوتين التاليتين لتعيين الاشتراك الافتراضي. إذا نجح الأمر السابق، وتم سرد Concierge Subscription واحد فقط، فتخطَّ الخطوتين التاليتين.

  4. احصل على معرفات "Concierge Subscription".

     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
  5. تعيين الاشتراك الافتراضي باستخدام معرّف الاشتراك. استبدل {معرّف الاشتراك الخاص بك} بأحدث معرّف اشتراك Concierge.

    az account set --subscription {your subscription ID}
    

تعيين مجموعة الموارد الافتراضية

عند استخدام Azure CLI، يمكنك تعيين مجموعة الموارد الافتراضية وحذف المعلمة من بقية أوامر Azure CLI في هذا التدريب. عيِّن الإعداد الافتراضي لمجموعة الموارد المنشأة لك في بيئة الاختبار المعزولة.

az configure --defaults group="<rgn>[sandbox resource group name]</rgn>"

نشر القالب إلى Azure

قم بتشغيل الأمر التالي من المحطة الطرفية في Visual Studio Code لنشر قالب Bicep إلى Azure. قد يستغرق الأمر دقيقة أو دقيقتين لإكماله، ثم سترى عملية نشر ناجحة. إذا رأيت تحذيرا حول وجود تعليمات برمجية مضمنة للموقع، يمكنك تجاهله. ستقوم بإصلاح الموقع لاحقا في الوحدة النمطية. من الآمن المتابعة وسينجح النشر.

az deployment group create --template-file main.bicep

سترى Running... في المحطة الطرفية.

لتوزيع هذا القالب إلى Azure، قم بتسجيل الدخول إلى حساب Azure الخاص بك من المحطة الطرفية لـ Visual Studio Code. تأكد من تثبيت Azure PowerShell، وسجّل الدخول إلى الحساب نفسه الذي قام بتنشيط بيئة الاختبار المعزولة.

  1. في القائمة المحطة الطرفية، حدد محطة طرفية جديدة. عادة ما تفتح نافذة المحطة الطرفية في النصف السفلي من الشاشة.

  2. إذا كانت shell المعروضة على الجانب الأيمن من نافذة المحطة الطرفية powershell أو pwsh، فإن shell الصحيح مفتوح، ويمكنك التخطي إلى القسم التالي.

    Screenshot of the Visual Studio Code terminal window, with the pwsh option displayed in the shell dropdown list.

  3. إذا ظهرت shell بخلاف powershell أو pwsh ، فحدد سهم shell المنسدلة، ثم حدد PowerShell.

    Screenshot of the Visual Studio Code terminal window, with the terminal shell dropdown list shown and PowerShell selected.

  4. في قائمة shell الطرفية، حدد powershell أو pwsh.

    Screenshot of the Visual Studio Code terminal window, with the PowerShell terminal selected.

  5. في المحطة الطرفية، اذهب إلى الدليل حيث قمت بحفظ القالب الخاص بك. على سبيل المثال، إذا حفظت قالبك في مجلد قوالب، يمكنك استخدام هذا الأمر:

    Set-Location -Path templates
    

تثبيت Bicep CLI

لاستخدام Bicep من Azure PowerShell، ثبّت Bicep CLI.

تسجيل الدخول إلى Azure باستخدام Azure PowerShell

  1. في المحطة الطرفية لتعليمة Visual Studio البرمجية، شغِّل الأمر التالي:

    Connect-AzAccount
    

    يفتح متصفح بحيث يمكنك تسجيل الدخول إلى حسابك في Azure.

  2. بعد تسجيل الدخول إلى Azure، ستعرض المحطة الطرفية قائمة الاشتراكات المقترنة بهذا الحساب.

    إذا قمت بتنشيط بيئة الاختبار المعزولة، يتم عرض اشتراك باسم Concierge Subscription. استخدمه في باقي التدريب.

  3. عيِّن الاشتراك الافتراضي لجميع أوامر Azure PowerShell التي تشغِّلها في هذه الجلسة.

    $context = Get-AzSubscription -SubscriptionName 'Concierge Subscription'
    Set-AzContext $context
    

    إشعار

    إذا كنت قد استخدمت أكثر من بيئة اختبار معزولة واحدة مؤخرًا، فقد تعرض المحطة الطرفية أكثر من مثيل واحد لـ Concierge Subscription. في هذه الحالة، استخدم الخطوتين التاليتين لتعيين الاشتراك الافتراضي. إذا نجح الأمر السابق، وتم سرد Concierge Subscription واحد فقط، فتخطَّ الخطوتين التاليتين.

  4. احصل على معرّف الاشتراك. يسرد تشغيل الأمر التالي الاشتراكات ومعرفاتها. ابحث عن Concierge Subscription، ثم انسخ المعرّف من العمود الثاني. وسيبدو على هذا النحو cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0.

    Get-AzSubscription
    
  5. غيِّر اشتراكك النشط إلى Concierge Subscription. تأكد من استبدال {Your subscription ID} بالمعرّف الذي قمت بنسخه.

    $context = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $context
    

تعيين مجموعة الموارد الافتراضية

يمكنك تعيين مجموعة الموارد الافتراضية وحذف المعلمة من بقية أوامر Azure PowerShell في هذا التمرين. عيِّن هذا الإعداد الافتراضي إلى مجموعة الموارد المنشأة لك في بيئة الاختبار المعزولة.

Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>

نشر القالب إلى Azure

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

New-AzResourceGroupDeployment -TemplateFile main.bicep

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

في المرة الأولى التي تقوم فيها بنشر قالب Bicep، قد تحتاج إلى استخدام مدخل Azure للتحقق من انتهاء عملية النشر بنجاح وفحص النتائج.

  1. انتقل إلى مدخل Azure وتأكد من أنك مشترك في بيئة الاختبار المعزولة:

    1. حدد الأفاتار الخاص بك في الزاوية اليُمنى العلوية من الصفحة.
    2. حدد تبديل الدليل. في القائمة، حدد دليل Microsoft Learn Sandbox.
  2. في اللوحة اليمنى، حدد "Resource groups".

  3. حدد [sandbox resource group name].

  4. في "Overview"، يمكنك رؤية أن ذلك النشر تم بنجاح. قد تحتاج إلى توسيع منطقة Essentials لمشاهدة النشر.

    Screenshot of the Azure portal interface for the resource group overview, with the deployments section showing that one succeeded.

  5. حدد 1 Succeeded للاطلاع على تفاصيل التوزيع.

    Screenshot of the Azure portal interface for the deployments, with the one deployment listed and a succeeded status.

  6. حدد التوزيع المسمى الرئيسي لمعرفة الموارد التي تم توزيعها، ثم حدد تفاصيل النشر لتوسيعها. في هذه الحالة، هناك حساب تخزين واحد بالاسم الذي حددته.

    Screenshot of the Azure portal interface for the specific deployment, with one storage account resource listed.

  7. اترك الصفحة مفتوحة في المتصفح. سوف تتحقق من عمليات النشر مرة أخرى لاحقاً.

يمكنك أيضاً التحقق من النشر من سطر الأوامر. للقيام بذلك، قم بتشغيل أمر Azure CLI التالي:

az deployment group list --output table

يمكنك أيضاً التحقق من النشر من سطر الأوامر. للقيام بذلك، قم بتشغيل الأمر Azure PowerShell التالي:

Get-AzResourceGroupDeployment -ResourceGroupName <rgn>[sandbox resource group name]</rgn> | Format-Table

إضافة خطة وتطبيق App Service إلى قالب Bicep

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

  1. في ملف main.bicep الموجود في Visual Studio Code، أضف التعليمات البرمجية التالية إلى أسفل الملف:

    resource appServicePlan 'Microsoft.Web/serverFarms@2022-03-01' = {
      name: 'toy-product-launch-plan-starter'
      location: 'westus3'
      sku: {
        name: 'F1'
      }
    }
    
    resource appServiceApp 'Microsoft.Web/sites@2022-03-01' = {
      name: 'toy-product-launch-1'
      location: 'westus3'
      properties: {
        serverFarmId: appServicePlan.id
        httpsOnly: true
      }
    }
    
  2. قم بتحديث اسم تطبيق App Service من toy-product-launch-1 إلى أن يكون في الغالب اسماً فريداً. تأكد من أن الاسم من 2 إلى 60 حرفا بأحرف كبيرة وأحرف صغيرة وأرقام وواصلات، ولا يبدأ بواصلة أو ينتهي بها.

  3. حفظ التغييرات على الملف.

نشر قالب Bicep المحدث

قم بتشغيل أمر Azure CLI التالي في المحطة الطرفية. يمكنك تجاهل التحذيرات حول الموقع ذي التعليمات البرمجية المضمنة. ستقوم بإصلاح الموقع قريبا.

az deployment group create --template-file main.bicep

قم بتشغيل أمر Azure PowerShell التالي في المحطة الطرفية. يمكنك تجاهل رسائل التحذير حول الموقع الذي يحتوي على تعليمات برمجية مضمنة. ستقوم بإصلاح الموقع قريبا.

New-AzResourceGroupDeployment -TemplateFile main.bicep

تحقق من النشر

  1. ارجع إلى مدخل Microsoft Azure وانتقل إلى مجموعة الموارد الخاصة بك. ستظل تشاهد عملية نشر ناجحة واحدة، لأن النشر قد استخدم الاسم نفسه لعملية النشر الأولى.

  2. حدد رابط "1 Succeeded".

  3. حدد عملية النشر باسم "main"، ثم حدد "Deployment details" لتوسيع قائمة الموارد التي تم نشرها.

    Screenshot that shows the Azure portal interface for the specific deployment, with storage account and App Service resources listed.

  4. لاحظ أنه تم نشر خطة App Service والتطبيق.