Импорт в Bicep
В этой статье описывается синтаксис, используемый для экспорта и импорта общих функций, а также пространств имен для поставщиков расширяемости Bicep.
Экспорт типов, переменных и функций (предварительная версия)
Примечание.
Для использования этой функции требуется интерфейс командной строки Bicep версии 0.23.X или более поздней . Экспериментальная функция compileTimeImports
должна быть включена из файла конфигурации Bicep. Для определяемых пользователем функций экспериментальная функция userDefinedFunctions
также должна быть включена.
Декоратор @export()
используется для указания того, что данная инструкция может быть импортирована другим файлом. Этот декоратор действителен только для операторов типа, переменных и функций. Операторы переменных, помеченные константами @export()
времени компиляции, должны быть константами времени компиляции.
Синтаксис экспорта функций для использования в других файлах Bicep:
@export()
<statement_to_export>
Импорт типов, переменных и функций (предварительная версия)
Примечание.
Для использования этой функции требуется интерфейс командной строки Bicep версии 0.23.X или более поздней . Экспериментальная функция compileTimeImports
должна быть включена из файла конфигурации Bicep. Для определяемых пользователем функций экспериментальная функция userDefinedFunctions
также должна быть включена.
Синтаксис импорта функций из другого файла 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>'
Вы можете смешивать и соответствовать приведенным выше синтаксисам. Чтобы получить доступ к импортированным символам с помощью синтаксиса wild карта, необходимо использовать .
оператор: <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'
sys
Оба az
и являются встроенными пространствами имен Bicep. Они импортируются по умолчанию. Дополнительные сведения о типах данных и функциях, определенных в az
и sys
, см. в разделе "Типы данных" и функции Bicep.
Синтаксис импорта поставщиков расширяемости Bicep:
import '<provider-name>@<provider-version>'
Синтаксис импорта поставщиков расширяемости Bicep, требующих настройки:
import '<provider-name>@<provider-version>' with {
<provider-properties>
}
Пример см. в разделе Bicep расширяемости поставщика Kubernetes.
Следующие шаги
- Дополнительные сведения о типах данных Bicep см. в разделе "Типы данных".
- Дополнительные сведения о функциях Bicep см. в разделе "Функции Bicep".
- Дополнительные сведения об использовании поставщика Kubernetes см. в статье Bicep расширяемости поставщика Kubernetes.
- Сведения о руководстве по поставщику Kubernetes см. в кратком руководстве по развертыванию приложений Azure в Служба Azure Kubernetes с помощью поставщика Bicep Kubernetes..