Импорт в 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 '[email protected]'
import '[email protected]'
sys
Оба az
и являются встроенными пространствами имен Bicep. Импортируются по умолчанию. Дополнительные сведения о типах данных и функциях, определенных в az
и sys
, см. в разделе "Типы данных" и функции Bicep.
Синтаксис импорта расширений Bicep:
import '<extension-name>@<extension-version>'
Синтаксис для импорта расширений Bicep, для которых требуется настройка:
import '<extension-name>@<extension-version>' with {
<extension-properties>
}
Например, см . расширение Bicep Kubernetes.
Связанный контент
- Дополнительные сведения о типах данных Bicep см. в разделе "Типы данных".
- Дополнительные сведения о функциях Bicep см. в разделе "Функции Bicep".
- Чтобы узнать, как использовать расширение Bicep Kubernetes, см . расширение Bicep Kubernetes.
- Инструкции по расширению Kubernetes см. в кратком руководстве по развертыванию приложений Azure в Служба Azure Kubernetes с помощью расширения Bicep Kubernetes.