ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يرشدك هذا التشغيل السريع إلى كيفية استخدام 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.
بعد عرض الأسعار الفردي لنوع المورد، أضف = ومسافة. يتم تقديمك مع خيارات لإضافة الخصائص إلى المورد. حدد 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 داخل Visual Studio Code، ثم حدد Deploy Bicep file.
في مربع النص Please enter name for deployment اكتب deployStorageAndVNet، ثم اضغط على ENTER.
من مربع قائمة Select Resource Group في الأعلى، حدد Create new Resource Group.
أدخل exampleRG كاسم مجموعة الموارد، ثم اضغط على ENTER.
حدد موقعا لمجموعة الموارد، وحدد وسط الولايات المتحدة أو موقعا من اختيارك، ثم اضغط على ENTER.
من تحديد ملف معلمات، حدد بلا.
يستغرق إنشاء الموارد بضع لحظات. لمزيد من المعلومات، راجع نشر ملفات 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
الخطوات التالية
استكشف وحدات Learn ل Bicep.