عمليات الاستيراد في Bicep

توضح هذه المقالة بناء الجملة الذي تستخدمه لتصدير واستيراد الوظائف المشتركة ومساحات الأسماء لملحقات Bicep. يتيح استخدام عمليات استيراد وقت التحويل البرمجي إنشاء التعليمات البرمجية لإصدار اللغة 2.0 تلقائيا.

تصدير المتغيرات والأنواع والدالات

@export() يشير مصمم الديكور إلى أنه يمكن لملف آخر استيراد عبارة معينة. هذا المصمم صالح فقط على typeعبارات و varو func . يجب أن تكون عبارات المتغير التي تم وضع علامة عليها @export() ثوابت وقت التحويل البرمجي.

بناء الجملة لتصدير الوظائف للاستخدام في ملفات Bicep الأخرى هو:

@export()
<statement_to_export>

استيراد المتغيرات والأنواع والدالات

بناء الجملة لاستيراد الوظائف من ملف Bicep آخر هو:

import {<symbol_name>, <symbol_name>, ...} from '<bicep_file_name>'

باستخدام الاسم المستعار الاختياري لإعادة تسمية الرموز:

import {<symbol_name> as <alias_name>, ...} from '<bicep_file_name>'

استخدام بناء جملة استيراد حرف البدل:

import * as <alias_name> from '<bicep_file_name>'

يمكنك مزج الصيغ السابقة ومطابقتها. للوصول إلى الرموز المستوردة باستخدام بناء جملة حرف البدل، يجب استخدام . عامل التشغيل: <alias_name>.<exported_symbol>.

تتوفر فقط العبارات التي تم تصديرها في الملف المشار إليه للاستيراد.

يمكنك استخدام الوظائف التي تم استيرادها من ملف آخر دون قيود. على سبيل المثال، يمكنك استخدام المتغيرات المستوردة في أي مكان يكون فيه المتغير المعلن عنه في الملف صالحا عادة.

مثال

exports.bicep

@export()
type myObjectType = {
  foo: string
  bar: int
}

@export()
var myConstant = 'This is a constant value'

@export()
func sayHello(name string) string => 'Hello ${name}!'

main.bicep

import * as myImports from 'exports.bicep'
import {myObjectType, sayHello} from 'exports.bicep'

param exampleObject myObjectType = {
  foo: myImports.myConstant
  bar: 0
}

output greeting string = sayHello('Bicep user')
output exampleObject myImports.myObjectType = exampleObject

استيراد مساحات الأسماء والملحقات (معاينة)

إشعار

يجب تمكين الميزة extensibility التجريبية من ملف تكوين Bicep لاستخدام هذه الميزة.

بناء الجملة لاستيراد مساحات الأسماء هو:

import 'az@1.0.0'
import 'sys@1.0.0'

كل من az و sys هما مساحات الأسماء المضمنة في Bicep. يتم استيرادها بشكل افتراضي. لمزيد من المعلومات حول أنواع البيانات والوظائف المعرفة في az وsys، راجع أنواع البيانات ووظائف Bicep.

بناء الجملة لاستيراد ملحقات Bicep هو:

import '<extension-name>@<extension-version>'

بناء الجملة لاستيراد ملحقات Bicep، والتي تتطلب التكوين هي:

import '<extension-name>@<extension-version>' with {
  <extension-properties>
}

على سبيل المثال، راجع ملحق Bicep Kubernetes.