قالب التشغيل السريع: إنشاء ملفات Bicep باستخدام Visual Studio
يرشدك هذا التشغيل السريع خلال الخطوات لإنشاء ملف Bicep باستخدام التعليمة البرمجية Visual Studio. ستنشئ حساب تخزين وشبكة افتراضية. ستتعلم أيضًا كيف يبسط امتداد Bicep عملية التطوير من خلال توفير سلامة الأنماط والتحقق من صحة السياق والإكمال التلقائي.
كما يتم دعم تجربة تأليف مماثلة في Visual Studio Code. راجع التشغيل السريع: إنشاء ملفات Bicep باستخدام Visual Studio Code.
المتطلبات الأساسية
- Azure Subscription. إذا لم يكن لديك اشتراك في Azure، فأنشئ free account قبل البدء.
- الإصدار 17.3.0 من Visual Studio معاينة 3 أو أحدث. راجع Visual Studio Preview.
- ملحق Bicep لـ Visual Studio. راجع Visual Studio Marketplace.
- يتطلب توزيع ملف Bicep إما أحدث إصدار من Azure CLI أو أحدث وحدة Azure PowerShell.
إضافة قصاصة التعليمة البرمجية للموارد
قم بتشغيل 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@2023-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@2023-04-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@2023-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@2023-04-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