ما هو Bicep؟
Bicep هي لغة مجال مخصصة تستخدم بناء الجملة التعريفي لتوزيع موارد Azure. في ملف Bicep، يمكنك تحديد البنية الأساسية التي تريد نشرها في Azure ثم استخدام هذا الملف طوال دورة حياة التطوير لنشر تلك البنية الأساسية بشكل متكرر. تُنشر مواردك بطريقة متسقة.
يوفر Bicep بناء جملة موجزا وأمانا موثوقا به للنوع ودعما لإعادة استخدام التعليمات البرمجية. نعتقد أن Bicep يقدم أفضل تجربة تأليف لحلول البنية الأساسية كتعليمة برمجية في Azure.
ميزات Bicep
يوفر Bicep المزايا التالية:
دعم لجميع أنواع الموارد وإصدارات واجهات برمجة التطبيقات: تدعم Bicep على الفور جميع إصدارات المعاينة وGA لخدمات Azure. بمجرد أن يقدم موفر الموارد أنواع موارد جديدة وإصدارات واجهة برمجة التطبيقات، يمكنك استخدامها في ملف Bicep الخاص بك. لا تحتاج إلى الانتظار حتى يتم تحديث الأدوات قبل استخدام الخدمات الجديدة.
بناء الجملة البسيط: بالمقارنة مع قالب JSON المكافئ، تكون ملفات Bicep أكثر إيجازًا وأسهل في القراءة. لا يتطلب Bicep معرفة مسبقة بلغات البرمجة. بناء الجملة Bicep هو مصرح به ويحدد الموارد وخصائص الموارد التي تريد نشرها.
تستعرض الأمثلة التالية الفرق بين ملف Bicep وقالب JSON المكافئ. يوزع كلا المثالين حساب تخزين:
param location string = resourceGroup().location param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}' resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = { name: storageAccountName location: location sku: { name: 'Standard_LRS' } kind: 'StorageV2' properties: { accessTier: 'Hot' } }
تجربة التأليف: عند استخدام ملحق Bicep للتعليمات البرمجية في Visual Studio لإنشاء ملفات Bicep، تحصل على تجربة تأليف من الدرجة الأولى. يوفر المحرر أمان النوع الغني وIntelliSense والتحقق من صحة بناء الجملة.
يمكنك أيضا إنشاء ملفات Bicep في Visual Studio مع ملحق Bicep ل Visual Studio.
نتائج قابلة للتكرار: انشر البنية الأساسية الخاصة بك طوال دورة حياة التطوير بثقة في توزيع مواردك باستمرار. ملفات Bicep متكررة، ما يعني أنه يمكنك نشر نفس الملف عدة مرات والحصول على نفس أنواع الموارد في نفس الحالة. يمكنك تطوير ملف واحد يمثل الحالة المطلوبة بدلا من تطوير العديد من الملفات المنفصلة لتمثيل التحديثات. على سبيل المثال، ينشئ الملف التالي حساب تخزين. إذا قمت بنشر هذا القالب وحساب التخزين عندما تكون الخصائص المحددة موجودة بالفعل، فلن يتم إجراء التغييرات:
التزامن: لا داعي للقلق بشأن تعقيدات ترتيب العمليات. ينسق Resource Manager توزيع الموارد المترابطة بحيث يتم إنشاؤها بالترتيب الصحيح. عندما يكون ذلك ممكنا، يقوم Resource Manager بتوزيع الموارد بالتوازي، مما يساعد عمليات التوزيع على الانتهاء بشكل أسرع من عمليات التوزيع التسلسلية. يمكنك نشر الملف من خلال أمر واحد بدلا من أوامر إلزامية متعددة.
الوحدات النمطية: استخدم الوحدات النمطية لتقسيم تعليمة Bicep البرمجية إلى أجزاء قابلة للإدارة. تساعدك الوحدات النمطية على إعادة استخدام التعليمات البرمجية وتبسيط التطوير. تنشر الوحدة النمطية مجموعة من الموارد ذات الصلة. أضف وحدة نمطية إلى ملف Bicep عندما تحتاج إلى نشر هذه الموارد.
التكامل مع خدمات Azure: يتكامل Bicep مع خدمات Azure مثل Azure Policy ومواصفات القالب وAzure Blueprints.
معاينة التغييرات: يمكنك استخدام عملية «ماذا لو» لمعاينة التغييرات قبل نشر ملف Bicep. تظهر لك عملية what-if الموارد التي يجب إنشاؤها أو تحديثها أو حذفها وأي خصائص مورد لتغييرها. كما أنه يتحقق من الحالة الحالية للبيئة الخاصة بك ويلغي الحاجة إلى إدارة هذه الحالة.
لا توجد ملفات حالة أو حالة لإدارتها: يخزن Azure جميع الحالات. يمكنك التعاون مع الآخرين والتأكد من معالجة التحديثات كما هو متوقع.
لا تكلفة ولا مصدر مفتوح: نظرا لأن Bicep مجاني، فلا يتعين عليك الدفع مقابل القدرات المتميزة. يدعمه دعم Microsoft.
الشروع في العمل
لبدء العمل من خلال Bicep عليك القيام بالتالي:
- تثبيت الأدوات. لمزيد من المعلومات، راجع إعداد بيئات تطوير ونشر Bicep أو استخدام مستودع DEVcontainer/Codespaces ل VS Code للحصول على بيئة تأليف تم تكوينها مسبقا.
- أكمل الوحدات النمطية Quickstart و Learn ل Bicep.
لإلغاء التحويل البرمجي لقالب Resource Manager موجود إلى Bicep، راجع إلغاء التحويل البرمجي لقالب ARM JSON إلى Bicep. يمكنك استخدام Bicep Playground لعرض Bicep وما يعادله، JSON، جنبا إلى جنب.
للتعرف على الموارد المتوفرة في ملف Bicep، راجع مرجع مورد Bicep.
يمكنك العثور على أمثلة Bicep في Bicep GitHub repo.
حول اللغة
لا يُقصد من Bicep أن تكون لغة برمجة عامة لكتابة التطبيقات. يعلن ملف Bicep عن موارد Azure وخصائص الموارد دون كتابة سلسلة من أوامر البرمجة لإنشائها.
لتتبع حالة العمل، راجع مستودع مشروع Bicep.
للتعرف على Bicep، شاهد الفيديو التالي:
يمكنك استخدام Bicep بدلا من JSON لتطوير قوالب Resource Manager. يمكن أن يكون بناء جملة JSON لإنشاء قالب Resource Manager مطولا ويتطلب تعبيرات معقدة. يقلل بناء جملة Bicep من هذا التعقيد ويحسن تجربة التطوير. Bicep هو تجريد شفاف عبر قالب Resource Manager JSON لا يفقد قدرات قالب JSON. أثناء النشر، يحول Bicep CLI ملف Bicep إلى قالب Resource Manager JSON.
أنواع الموارد وإصدارات واجهة برمجة التطبيقات والخصائص الصالحة في قالب Resource Manager صالحة في ملف Bicep.
يقدم Bicep بناء جملة أسهل وأكثر إيجازا بالمقارنة مع ما يعادله، JSON. لا تستخدم تعبيرات بين قوسين [...]
. بدلا من ذلك، يمكنك استدعاء الوظائف مباشرة والحصول على القيم من المعلمات والمتغيرات. يمكنك إعطاء كل مورد نشر اسم رمزي، مما يجعل من السهل الرجوع إلى هذا المورد في القالب الخاص بك.
للحصول على مقارنة كاملة للبنية، راجع مقارنة JSON وBicep للقوالب.
تدير Bicep تلقائيًا التبعيات بين الموارد. يمكنك تجنب إعداد dependsOn
عند استخدام الاسم الرمزي لمصدر في بيان مصدر آخر.
بنية ملف Bicep أكثر مرونة من قالب JSON. يمكنك تعريف المعلمات والمتغيرات والمخرجات في أي مكان في الملف. في JSON، يجب عليك تعريف كافة المعلمات والمتغيرات والمخرجات داخل المقاطع المقابلة من القالب.
الحصول على الدعم
فيما يلي خطوات فتح تذكرة دعم للمشكلات المتعلقة بقالب Azure Resource Manager (ARM):
افتح مدخل Azure.
حدد أيقونة الدعم + استكشاف الأخطاء وإصلاحها من الزاوية العلوية اليسرى.
في وصف المشكلة بإيجاز، أدخل قالب ARM، ثم حدد Go.
في أي خدمة تواجه مشكلة مع؟، حدد المدخل ضمن المراقبة والإدارة، ثم حدد التالي.
حدد اشتراك ثم حدد التالي.
حدد مشكلة في قوالب ARM، ثم حدد التالي.
الخطوات التالية
للبدء، راجع التشغيل السريع.
للحصول على إجابات للأسئلة الشائعة، راجع الأسئلة المتداولة حول Bicep.