ما هو Bicep؟

Bicep هي لغة خاصة بالمجال (DSL) تستخدم بناء الجملة التعريفي لنشر موارد 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-04-01' = {
      name: storageAccountName
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

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

    مثال على تأليف ملف Bicep

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

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

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

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

    مقارنة توزيع Bicep

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

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

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

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

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

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

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

  1. تثبيت الأدوات. راجع إعداد بيئات تطوير ونشر Bicep. أو يمكنك استخدام REPO التعليمات البرمجية VS Devcontainer/Codespaces للحصول على بيئة تأليف مكونة مسبقًا.
  2. أكمل التشغيل السريع ووحدات Learn Bicep.

لإلغاء التحويل البرمجي لقالب Azure Resource Manager موجود إلى Bicep، راجع إلغاء التحويل البرمجي لقالب Azure Resource Manager من JSON إلى Bicep. يمكنك استخدام Bicep Playground لعرض Bicep وما يعادله بلغة JSON جنباً إلى جنب.

للتعرف على الموارد المتوفرة في ملف Bicep، راجع مرجع مورد Bicep

ويمكن الاطلاع على أمثلة bicep في مستودع GitHub لـ Bicep.

حول اللغة

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

لتتبع حالة العمل، راجع مستودع مشروع Bicep.

للتعرف على Bicep، راجع الفيديو التالي.

يمكنك استخدام Bicep بدلاً من JSON لتطوير قوالب Azure Resource Manager (قوالب ARM). يمكن أن تكون صيغة JSON لإنشاء قالب ARM مطولة وتتطلب تعبيرات معقدة. يقلل بناء جملة Bicep من هذا التعقيد ويحسن تجربة التطوير. Bicep هي عملية تجريد شفافة على قالب ARM JSON ولا تفقد أيًا من إمكانيات قالب JSON. أثناء النشر، يقوم Bicep CLI بتحويل ملف Bicep إلى ARM لقالب JSON.

أنواع الموارد وإصدارات API والخصائص الصالحة في قالب ARM صالحة في ملف Bicep.

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

للحصول على مقارنة كاملة للبنية، راجع مقارنة JSON وBicep للقوالب.

تدير Bicep تلقائيًا التبعيات بين الموارد. يمكنك تجنب إعداد dependsOn عند استخدام الاسم الرمزي لمصدر في بيان مصدر آخر.

هيكل الملف Bicep أكثر مرونة من قالب JSON. يمكنك تعريف المعلمات والمتغيرات والمخرجات في أي مكان في الملف. في JSON، يجب عليك تعريف كافة المعلمات والمتغيرات والمخرجات داخل المقاطع المقابلة من القالب.

الحصول على الدعم

فيما يلي خطوات فتح تذكرة دعم للمشكلات المتعلقة بقالب Azure Resource Manager (ARM):

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

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

  3. في وصف المشكلة بإيجاز، أدخل قالب ARM، ثم حدد Go.

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

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

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

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

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

ابدأ باستخدام التشغيل السريع.

للحصول على إجابات للأسئلة الشائعة، راجع الأسئلة المتداولة حول Bicep.