ما هو Bicep؟
اكتسب فريقك فهمًا لكيفية عمل Azure Resource Manager، وقررت استخدام قوالب ARM لتزويد مواردك. أنت تفهم أنه يمكنك كتابة قوالب ARM بطريقتين مختلفتين: باستخدام JSON وباستخدام Bicep. تريد معرفة المزيد عن قوالب Bicep بحيث يمكنك اتخاذ قرار مستنير عن اللغة التي يجب استخدامها.
في هذه الوحدة، ستتعرف إلى لغة قالب Bicep والميزات التي يقدمها لتأليف القالب.
ما هو Bicep؟
Bicep هي لغة قالب Resource Manager تُستخدم لتوزيع موارد Azure بصورة تعريفية. تعد Bicep عبارة عن لغة خاصة بالمجالات، مما يعني أنها مصممة لسيناريو محدد أو "مجال" محدد. كما أن لغة Bicep غير مصممة لاستخدامها كلغة برمجة قياسية لكتابة التطبيقات. يستخدم Bicep فقط لإنشاء قوالب Resource Manager. يُقصد من Bicep أن تكون سهلة الفهم ومباشرة للتعلم، بغض النظر عن تجربتك مع لغات البرمجة الأخرى. جميع أنواع الموارد وإصدارات واجهة برمجة التطبيقات وخواصها صالحة في قوالب Bicep.
ملاحظة
إذا كنت قد بحثت سابقا في استخدام قوالب JSON، ستلاحظ أن Bicep يبسط تجربة إنشاء القالب. فهو يقدم بناء جملة يسهل فهمه، كما يقدم دعمًا أفضل للنمطية والتعليمات البرمجية القابلة لإعادة الاستخدام، وتأمين نوع مُحسَّن. يتطلب إنشاء قالب JSON ARM تعبيرات معقدة، وقد تكون النتيجة النهائية مطولة.
ميزات Bicep
يقدم Bicep العديد من التحسينات على JSON لتأليف القالب، بما في ذلك:
بناء الجملة الأبسط: يقدم Bicep بناء جملة أبسط لكتابة القوالب. يمكنك الرجوع إلى المعلمات والمتغيرات مباشرةً، دون استخدام دوال معقدة. يُستخدم الاستنتاج التسلسلي بدلًا من التسلسل لدمج قيم الأسماء والعناصر الأخرى. يمكنك الإشارة إلى خواص أحد الموارد مباشرةً باستخدام اسمه الرمزي بدلًا من عبارات المرجع المعقدة. تساعد تحسينات بناء الجملة هذه على تأليف قوالب Bicep وقراءتها.
الوحدات: يمكنك تقسيم عمليات توزيع القوالب المعقدة إلى ملفات وحدات أصغر والرجوع إليها في قالب رئيسي. تقدم هذه الوحدات إدارة أسهل وقابلية أكبر لإعادة الاستخدام. يمكنك حتى مشاركة الوحدات الخاصة بك مع فريقك.
إدارة التبعية التلقائية: في معظم الحالات، يكشف Bicep تلقائيًا عن التبعيات بين مواردك. تزيل هذه العملية بعض الأعمال المتضمنة في تأليف القالب.
التحقق من صحة النوع وIntelliSense:يتميز ملحق Bicep لميزات Visual Studio Code بالتحقق من الصحة الثري وIntelliSense لجميع تعريفات واجهة برمجة التطبيقات لنوع مورد Azure. تساعد هذه الميزة على تقديم تجربة تأليف أسهل.
القِ نظرة على المثال التالي لقالب Bicep الذي يحدد حساب تخزين Azure. يُنشأ اسم حساب التخزين تلقائيًا بواسطة القالب. بعد التوزيع، يُرجع معرّف المورد باعتباره مخرج للمستخدم الذي ينفذ القالب.
param location string = resourceGroup().location
param namePrefix string = 'storage'
var storageAccountName = '${namePrefix}${uniqueString(resourceGroup().id)}'
var storageAccountSku = 'Standard_RAGRS'
resource storageAccount 'Microsoft.Storage/storageAccounts@2019-06-01' = {
name: storageAccountName
location: location
kind: 'StorageV2'
sku: {
name: storageAccountSku
}
properties: {
accessTier: 'Hot'
supportsHttpsTrafficOnly: true
}
}
output storageAccountId string = storageAccount.id
هل تحتاج إلى مساعدة؟ راجع دليل استكشاف الأخطاء وإصلاحها الذي نقدمه أو يمكنك توفير ملاحظات معينة عبر الإبلاغ عن مشكلة.