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

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

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

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

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

قم بتشغيل Visual Studio وأنشئ ملفًا جديدًا باسم main.bicep.

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

في ملف ⁧⁩main.bicep⁧⁩، النوع ⁧⁩vnet⁧⁩. حدد res-vnet من القائمة، ثم [TAB] أو [ENTER].

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

تلميح

إذا كنت لا ترى خيارات intellisense تلك في Visual Studio، فتأكد من تثبيت ملحق Bicep على النحو المحدد في Prerequisites. إذا ثبتت الملحق، امنح خدمة لغة 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'
        }
      }
    ]
  }
}

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

name: 'exampleVnet'

يحتوي موقع الإشعار على تسطير أحمر متعرج. يشير هذا إلى وجود مشكلة. مرر المؤشر فوق الموقع. رسالة الخطأ هي - اسم "الموقع" غير موجود في السياق الحالي. سننشئ معلمة موقع في القسم التالي.

إضافة مؤشرات

الآن، سنضيف معلمتين لاسم حساب التخزين والموقع. في الجزء العلوي من الملف، أضف:

param storageName

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

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

لديك المعلمة التالية:

param storageName string

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

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

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

أضف كِلا Decorators وحدد عدد الأحرف المسموح به على النحو الموضح أدناه:

@minLength(3)
@maxLength(24)
param storageName string

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

@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lower case letters and numbers. The name must be unique across Azure.')
param storageName string

معلمة اسم حساب التخزين جاهزة للاستخدام.

إضافة معلمة موقع أخرى:

param location string = resourceGroup().location

إضافة مورد

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

لتعريف مورد، استخدم الكلمة الأساسية ⁧resource⁩. أسفل الشبكة الافتراضية، اكتب ⁧⁩resource exampleStorage⁧⁩:

resource exampleStorage

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

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

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

بعد تحديد ⁧⁩Microsoft.Storage/storageAccounts⁧⁩، يتم تقديم إصدارات API المتوفرة. حدد 2021-09-01 أو أحدث إصدار من واجهة برمجة التطبيقات. نوصي باستخدام أحدث إصدار من واجهة برمجة التطبيقات.

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

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

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

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

resource exampleStorage 'Microsoft.Storage/storageAccounts@2021-09-01' = {
	name: 1
	location: 2
	sku: {
		name: 3
	}
	kind: 4
}

هناك أربعة عناصر نائبة في التعليمات البرمجية. استخدم [TAB] للانتقال إليها وإدخال القيم. مرة أخرى، سيساعدك intellisense. قم بتعيين name إلى storageName، وهي المعلمة التي تحتوي على اسم حساب التخزين. بالنسبة لـ ⁧location⁩، قم بتعيينه إلى ⁧location⁩. عند إضافة اسم SKU ونوعه، يقدم intellisense الخيارات الصالحة.

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

@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lower case letters and numbers. The name must be unique across Azure.')
param storageName string
param location string = resourceGroup().location

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: storageName
  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 exampleStorage 'Microsoft.Storage/storageAccounts@2021-09-01' = {
  name: storageName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

لمزيد من المعلومات حول صيغة Bicep، راجع ⁧⁩هيكل Bicep⁧⁩.

نشر ملف Bicep

لا يمكن نشر ملف Bicep من Visual Studio حتى الآن. كما يمكنك نشر ملف Bicep باستخدام Azure CLI أو Azure PowerShell:

az group create --name exampleRG --location eastus

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

عند الانتهاء من عملية النشر، يجب أن ترى رسالة تشير إلى نجاح عملية النشر.

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

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

az group delete --name exampleRG

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