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

مكتمل

ملاحظة

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

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

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

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

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

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

  1. افتح التعليمة البرمجية لـ Visual Studio.

  2. أنشئ ملفاً جديداً يسمى main.bicep.

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

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

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

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

    تلميح

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

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

  5. قم بتحديث اسم حساب التخزين من toylaunchstorage إلى أن يكون في الغالب اسماً فريداً. تأكد من أن يكون الاسم بالكامل بأحرف صغيرة، دون أي أحرف خاصة، وأقل من 24 حرفاً.

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

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

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

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

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

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

  3. في حالة ظهور غلاف آخر غير 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}
    

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

عند استخدام 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، فإن الغلاف الصحيح مفتوح ويمكنك التخطي إلى القسم التالي.

    Screenshot of the Visual Studio Code terminal window, with the p w s h option displayed in the shell dropdown.

  3. في حالة ظهور shell أخرى غير powershell أو pwsh، حدد القائمة المنسدلة shell، ثم حدد PowerShell.

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

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

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

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

    cd templates
    

تثبيت Bicep CLI

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

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

  1. في محطة Visual Studio Code الطرفية، قم بتشغيل الأمر التالي:

    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. حدد "Switch directory". من القائمة، اختر دليل "Microsoft Learn Sandbox".
  2. في اللوحة اليمنى، حدد "Resource groups".

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

  4. في "Overview"، يمكنك رؤية أن ذلك النشر تم بنجاح.

    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. حدد عملية النشر التي تُسمى "main" لمعرفة الموارد التي تم نشرها، ثم حدد "Deployment details" لتوسيعها. في هذه الحالة، هناك حساب تخزين واحد بالاسم الذي حددته.

    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@2021-03-01' = {
      name: 'toy-product-launch-plan-starter'
      location: 'westus3'
      sku: {
        name: 'F1'
      }
    }
    
    resource appServiceApp 'Microsoft.Web/sites@2021-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 المحدث

شغّل الأمر التالي في المحطة الطرفية. يُعد هذا هو الأمر نفسه الذي قمت بتشغيله من قبل.

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

قم بتشغيل أمر Azure PowerShell التالي في المحطة الطرفية. يُعد هذا هو الأمر نفسه الذي قمت بتشغيله من قبل.

New-AzResourceGroupDeployment -TemplateFile main.bicep

التحقق من عملية نشرك

  1. ارجع إلى مدخل 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 قد تم نشرهما.