مشاركة عبر


قالب التشغيل السريع: إنشاء ملفات Bicep باستخدام Visual Studio Code

يرشدك هذا التشغيل السريع إلى كيفية استخدام Visual Studio Code لإنشاء ملف Bicep. يمكنك إنشاء حساب تخزين وشبكة ظاهرية. يمكنك أيضا معرفة كيف يوفر ملحق Bicep أمان النوع والتحقق من صحة بناء الجملة والإكمال التلقائي لتبسيط التطوير.

يدعم Visual Studio تجربة تأليف مماثلة. راجع التشغيل السريع: إنشاء ملفات Bicep باستخدام Visual Studio لمزيد من المعلومات.

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

إذا لم يكن لديك اشتراك Azure، فأنشئ حسابًا مجانيًا قبل أن تبدأ.

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

إضافة قصاصة التعليمة البرمجية للموارد

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

قم بتشغيل Visual Studio Code، وأنشئ ملفا جديدا باسم main.bicep. في main.bicep، اكتب vnet، وحدد res-vnet من القائمة، ثم اضغط على TAB أو ENTER.

لقطة شاشة لإضافة قصاصة برمجية للشبكة الظاهرية.

تلميح

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

يحتوي ملف Bicep الآن على التعليمة البرمجية التالية:

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: 'name'
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    subnets: [
      {
        name: 'Subnet-1'
        properties: {
          addressPrefix: '10.0.0.0/24'
        }
      }
      {
        name: 'Subnet-2'
        properties: {
          addressPrefix: '10.0.1.0/24'
        }
      }
    ]
  }
}

ضمن هذه القصاصة البرمجية، تجد جميع القيم الضرورية لتعريف شبكة ظاهرية. قد تلاحظ تسطيرين متعرجين. يشير اللون الأصفر إلى تحذير يتعلق بإصدار واجهة برمجة تطبيقات قديم، بينما يشير التسطير المجعد الأحمر إلى خطأ ناتج عن تعريف معلمة مفقود. تتحقق أداة تحليل Bicep من ملفات Bicep من أخطاء بناء الجملة وانتهاكات أفضل الممارسات. مرر المؤشر فوق @2019-11-01، يظهر جزء منبثق استخدام إصدار أحدث من واجهة برمجة التطبيقات ل 'Microsoft.Network/virtualNetworks'. حدد إصلاح سريع من الجزء المنبثق، ثم حدد استبدال ب 2024-05-01 لتحديث إصدار واجهة برمجة التطبيقات.

بدلا من ذلك، قم بإزالة @2019-11-01، واستبدله ب @. حدد أحدث إصدار من واجهة برمجة التطبيقات.

لقطة شاشة لتحديث إصدار واجهة برمجة التطبيقات.

ستقوم بإصلاح خطأ تعريف المعلمة المفقود في القسم التالي.

يمكنك أيضا تعديل هذه التعليمات البرمجية لتلبية متطلباتك. على سبيل المثال، نظرا لأن name ليس اسما واضحا للشبكة الظاهرية، يمكنك تغيير الخاصية name إلى exampleVnet:

name: 'exampleVNet'

إضافة المعلمة

يفتقد مقتطف التعليمات البرمجية الذي أضفته في القسم الأخير إلى تعريف معلمة، locationكما هو موضح في التسطير المجعد الأحمر. في أعلى الملف، أضف:

param location

عند إضافة مسافة بعد الموقع، لاحظ أن IntelliSense يقدم أنواع البيانات المتوفرة للمعلمة. حدد سلسلة.

لقطة شاشة لإضافة نوع السلسلة إلى المعلمة.

امنح المعلمة قيمة افتراضية:

param location string = resourceGroup().location

يعين السطر السابق موقع مجموعة الموارد إلى مورد الشبكة الظاهرية. لمزيد من المعلومات حول الدالة المستخدمة في القيمة الافتراضية، راجع resourceGroup().

في الجزء العلوي من الملف، أضف معلمة أخرى لاسم حساب التخزين (الذي تقوم بإنشائه لاحقا في التشغيل السريع) بقيمة افتراضية:

param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

لمزيد من المعلومات، راجع الاستنتاج و uniqueString().

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

أضف سطرا فوق المعلمة، واكتب @. يمكنك رؤية Decorators المتاح. لاحظ أن هناك مزخرفات لكل من minLength وmaxLength.

لقطة شاشة من إضافة مُزخرفات إلى المعلمة.

أضف كلا المصممين، وحدد حدود الأحرف (على سبيل المثال، 3 و24 أدناه):

@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

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

@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lowercase letters and numbers. The name must be unique across Azure.')
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

المعلمات الخاصة بك جاهزة للاستخدام.

إضافة مورد

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

لتعريف مورد، استخدم resource الكلمة الأساسية . أسفل الشبكة الظاهرية، اكتب resource storageAccount:

resource storageAccount

storageAccount هو اسم رمزي للمورد الذي تقوم بنشره. يمكنك استخدام هذا الاسم للإشارة إلى المورد في أجزاء أخرى من ملف Bicep.

عند إضافة مسافة بعد الاسم الرمزي، يتم عرض قائمة بأنواع الموارد. تابع كتابة storageacc حتى تتمكن من تحديده من الخيارات المتوفرة.

لقطة شاشة لتحديد حسابات التخزين لنوع المورد.

بعد تحديد Microsoft.Storage/storageAccounts، يتم تقديم إصدارات واجهة برمجة التطبيقات المتوفرة لك. حدد أحدث إصدار. بالنسبة إلى لقطة الشاشة التالية، فهي 2023-05-01.

لقطة شاشة لتحديد إصدار API لنوع المورد.

بعد عرض الأسعار الفردي لنوع المورد، أضف = ومسافة. يتم تقديمك مع خيارات لإضافة الخصائص إلى المورد. حدد required-properties.

لقطة شاشة لإضافة الخصائص المطلوبة.

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

resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name:
  location:
  sku: {
    name:
  }
  kind:
}

لقد أوشكت على الانتهاء، والخطوة التالية هي توفير قيم لتلك الخصائص.

مرة أخرى، يساعدك IntelliSense. قم بتعيين name إلى storageAccountName، وهي المعلمة التي تحتوي على اسم لحساب التخزين. بالنسبة locationإلى ، قم بتعيينه إلى location، وهو معلمة قمت بإنشائها سابقا. عند إضافة sku.name و kind، يقدم IntelliSense الخيارات الصالحة.

لإضافة خصائص اختيارية إلى جانب الخصائص المطلوبة، ضع المؤشر في الموقع المطلوب، واضغط على Ctrl+Space. توضح لقطة الشاشة التالية كيف يقترح IntelliSense الخصائص المتوفرة:

لقطة شاشة لإضافة خصائص إضافية.

عند الانتهاء، يكون لديك:

@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lowercase letters and numbers. The name must be unique across Azure.')
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param location string = resourceGroup().location

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-05-01' = {
  name: 'exampleVNet'
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    subnets: [
      {
        name: 'Subnet-1'
        properties: {
          addressPrefix: '10.0.0.0/24'
        }
      }
      {
        name: 'Subnet-2'
        properties: {
          addressPrefix: '10.0.1.0/24'
        }
      }
    ]
  }
}

resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

لمزيد من المعلومات حول بناء جملة Bicep، راجع بنية ملف Bicep وبناء الجملة.

تصور الموارد

يعرض لك Bicep Visualizer تمثيلا رسوميا للموارد الموجودة في ملفك.

حدد الزر Bicep Visualizer في الزاوية العلوية اليسرى لفتح الأداة:

لقطة شاشة لأداة العرض المصور ل Bicep.

يعرض هذا المصور المرئي الموارد المحددة في ملف Bicep والموصلات بين تبعياتها. لا يحتوي الموردان المعرفان في هذا التشغيل السريع على علاقة تابعة، لذلك لا يوجد موصل بينهما:

لقطة شاشة لرسم Bicep Visualizer التخطيطي.

نشر ملف Bicep

  1. انقر بزر الماوس الأيمن فوق ملف Bicep داخل Visual Studio Code، ثم حدد Deploy Bicep file.

    لقطة شاشة لخيار Deploy Bicep File.

  2. في مربع النص Please enter name for deployment اكتب deployStorageAndVNet، ثم اضغط على ENTER.

    لقطة شاشة لإدخال اسم النشر.

  3. من مربع قائمة Select Resource Group في الأعلى، حدد Create new Resource Group.

  4. أدخل exampleRG كاسم مجموعة الموارد، ثم اضغط على ENTER.

  5. حدد موقعا لمجموعة الموارد، وحدد وسط الولايات المتحدة أو موقعا من اختيارك، ثم اضغط على ENTER.

  6. من تحديد ملف معلمات، حدد بلا.

يستغرق إنشاء الموارد بضع لحظات. لمزيد من المعلومات، راجع نشر ملفات Bicep باستخدام Visual Studio Code.

يمكنك أيضا استخدام Azure CLI أو Azure PowerShell لنشر ملف Bicep:

az group create --name exampleRG --location eastus

az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageAccountName=uniquename

عند انتهاء النشر، يجب أن تشاهد رسالة تصف نجاح النشر.

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

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

az group delete --name exampleRG

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