ما هو Bicep؟

Bicep هي لغة مجال مخصصة تستخدم بناء الجملة التعريفي لتوزيع موارد Azure. في ملف Bicep، يمكنك تحديد البنية الأساسية التي تريد نشرها في Azure ثم استخدام هذا الملف طوال دورة حياة التطوير لنشر تلك البنية الأساسية بشكل متكرر. تُنشر مواردك بطريقة متسقة.

يوفر Bicep بناء جملة موجزا وأمانا موثوقا به للنوع ودعما لإعادة استخدام التعليمات البرمجية. يقدم Bicep تجربة تأليف مثالية لحلول البنية الأساسية كتعلم برمجية في Azure.

تحذير

دعم عملاء مايكروسوفت لا يقدم المساعدة في المشاكل الناتجة عن استخدام ميزات Bicep التجريبية؛ استخدمها على مسؤوليتك الخاصة.

ميزات 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 في الوقت الفعلي

    يمكنك أيضا إنشاء ملفات Bicep في Visual Studio مع ملحق Bicep ل Visual Studio.

  • نتائج قابلة للتكرار: انشر البنية الأساسية الخاصة بك طوال دورة حياة التطوير بثقة في توزيع مواردك باستمرار. ملفات Bicep متكررة، ما يعني أنه يمكنك نشر نفس الملف عدة مرات والحصول على نفس أنواع الموارد في نفس الحالة. يمكنك تطوير ملف واحد يمثل الحالة المطلوبة بدلا من تطوير العديد من الملفات المنفصلة لتمثيل التحديثات. على سبيل المثال، ينشئ الملف التالي حساب تخزين. إذا قمت بنشر هذا القالب وحساب التخزين عندما تكون الخصائص المحددة موجودة بالفعل، فلن يتم إجراء التغييرات:

    param location string = resourceGroup().location
    
    resource mystore 'Microsoft.Storage/storageAccounts@2023-05-01' = {
      name: 'mystorageaccount'
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
    }
    

  • التزامن: لا داعي للقلق بشأن تعقيدات ترتيب العمليات. ينسق Azure Resource Manager توزيع الموارد المترابطة بحيث يتم إنشاؤها بالترتيب الصحيح. عندما يكون ذلك ممكنا، يقوم Resource Manager بتوزيع الموارد بالتوازي، مما يساعد عمليات التوزيع على الانتهاء بشكل أسرع من عمليات التوزيع التسلسلية. يمكنك نشر الملف من خلال أمر واحد بدلا من أوامر إلزامية متعددة.

    رسم تخطيطي يقارن التوزيع بين ملف Bicep والبنية الأساسية كتعلم برمجي غير موجود في قالب.

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

  • التكامل مع خدمات Azure: يتكامل Bicep مع خدمات Azure مثل نهج Azure ومواصفات القالب وAzure Blueprints.

  • معاينة التغييرات: يمكنك استخدام عملية «ماذا لو» لمعاينة التغييرات قبل نشر ملف Bicep. تظهر لك عملية what-if الموارد التي يجب إنشاؤها أو تحديثها أو حذفها وأي خصائص مورد لتغييرها. كما أنه يتحقق من الحالة الحالية للبيئة الخاصة بك ويلغي الحاجة إلى إدارة هذه الحالة.

  • لا توجد ملفات حالة أو حالة لإدارتها: يخزن Azure جميع الحالات. يمكنك التعاون مع الآخرين والتأكد من معالجة التحديثات كما هو متوقع.

  • بدون تكلفة ومصدر مفتوح: نظرا لأن Bicep مجاني، فأنت لا تدفع مقابل القدرات المتميزة. يدعمه دعم Microsoft.

الشروع في العمل

لبدء العمل من خلال Bicep عليك القيام بالتالي:

  1. تثبيت الأدوات. لمزيد من المعلومات، راجع إعداد بيئات تطوير ونشر Bicep، أو استخدام مستودع DEVcontainer/Codespaces ل VS Code للحصول على بيئة تأليف تم تكوينها مسبقا.

  2. **أكمل البدء السريع.

لإلغاء التحويل البرمجي لقالب Resource Manager موجود إلى Bicep، راجع إلغاء تحويل قالب JSON Azure Resource Manager إلى 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):

  1. افتح مدخل Azure.

  2. حدد أيقونة الدعم + استكشاف الأخطاء وإصلاحها من الزاوية العلوية اليسرى.

  3. تحت وصف القضية باختصار ، أدخل قالب ARM، ثم اختر انطلاق.

  4. في أي خدمة تواجه مشكلة مع؟، حدد المدخل ضمن المراقبة والإدارة، ثم حدد التالي.

  5. حدد اشتراك ثم حدد التالي.

  6. حدد مشكلة في قوالب ARM، ثم حدد التالي.

    لقطة شاشة لطلب دعم قالب ARM.

المساهمة في Bicep

Bicep هو مشروع مفتوح المصدر. وهذا يعني أنه يمكنك المساهمة في تطوير Bicep، والمشاركة في مجتمع Bicep الأوسع. وتشمل أنواع المساهمات ما يلي:

  • قوالب Azure Quickstart. يمكنك المساهمة بنماذج ملفات Bicep وقوالب ARM في مستودع Azure Quickstart Templates. لمزيد من المعلومات، راجع دليل مساهمة قوالب Azure Quickstart.
  • توثيق. وثائق Bicep مفتوحة للمساهمات أيضا. لمزيد من المعلومات، راجع نظرة عامة على دليل المساهمين.
  • قصاصات. هل لديك قصاصة برمجية مفضلة تعتقد أن المجتمع سيستفيد منها؟ يمكنك إضافته إلى مجموعة التعليمات البرمجية لملحق Visual Studio من القصاصات البرمجية. لمزيد من المعلومات، راجع المساهمة في Bicep.
  • تغييرات التعليمات البرمجية. إذا كنت مطورا ولديك أفكار ترغب في رؤيتها بلغة Bicep أو الأدوات، يمكنك المساهمة في طلب سحب. لمزيد من المعلومات، راجع المساهمة في Bicep.

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