Настройка среды Bicep
Bicep поддерживает необязательный файл конфигурации с именем bicepconfig.json
. В этом файле можно добавить значения, настраивающие процесс разработки Bicep. Этот файл объединяется с файлом конфигурации по умолчанию. Дополнительные сведения см. в разделе "Общие сведения о процессе слияния". Чтобы настроить конфигурацию, создайте файл конфигурации в том же каталоге или родительском каталоге файлов Bicep. Если есть несколько родительских каталогов, содержащих bicepconfig.json
файлы, Bicep использует конфигурацию из ближайшей. Дополнительные сведения см. в разделе "Общие сведения о процессе разрешения файлов".
Сведения о настройке параметров расширения Bicep см. в расширении VS Code и Bicep.
Создание файла конфигурации в Visual Studio Code
Для создания файла конфигурации можно использовать любой текстовый редактор.
Чтобы создать bicepconfig.json
файл в Visual Studio Code, откройте палитру команд ([CTRL/CMD]+[SHIFT]+P), а затем выберите Bicep: Создать файл конфигурации Bicep. Дополнительные сведения см. в разделе "Создание файла конфигурации Bicep".
Расширение Bicep для Visual Studio Code поддерживает intellisense для файла bicepconfig.json
. Используйте IntelliSense для обнаружения доступных свойств и значений.
Общие сведения о процессе слияния
Файл bicepconfig.json
проходит рекурсивный процесс слияния вниз с файлом конфигурации по умолчанию. Во время процесса объединения Bicep проверяет каждый путь в обеих конфигурациях. Если путь отсутствует в конфигурации по умолчанию, путь и его связанное значение добавляются в окончательный результат. И наоборот, если путь существует в конфигурации по умолчанию с другим значением, значение bicepconfig.json
из этого значения имеет приоритет в объединенном результате.
Рассмотрим сценарий, в котором конфигурация по умолчанию определена следующим образом:
{
"cloud": {
...
"credentialPrecedence": [
"AzureCLI",
"AzurePowerShell"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
}
}
},
...
}
bicepconfig.json
И определяется следующим образом:
{
"cloud": {
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"br": {
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
}
}
Результирующая объединенная конфигурация будет:
{
"cloud": {
...
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
},
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
},
...
}
В предыдущем примере значение cloud.credentialPrecedence
заменяется, а значение cloud.moduleAliases.ContosoRegistry
и cloud.moduleAliases.CoreModules
добавляется в объединенную конфигурацию.
Общие сведения о процессе разрешения файлов
Файл bicepconfig.json
можно поместить в тот же каталог или родительский каталог файлов Bicep. Если есть несколько родительских каталогов, содержащих bicepconfig.json
файлы, Bicep использует файл конфигурации из ближайшего. Например, в заданной структуре папок, в которой каждая папка имеет bicepconfig.json
файл:
При компиляции main.bicep
в папке child
bicepconfig.json
используется файл в папке child
. Файлы конфигурации в папке parent
и root
папке игнорируются. child
Если папка не содержит файл конфигурации, Bicep ищет конфигурацию в папкеparent
, а затем папкуroot
. Если файл конфигурации не найден в любой из папок, Bicep по умолчанию использует значения по умолчанию.
В контексте файла Bicep, вызывающего несколько модулей, каждый модуль проходит компиляцию с помощью ближайшего bicepconfig.json
. Затем основной файл Bicep компилируется соответствующим образом bicepconfig.json
. В следующем сценарии modA.bicep
компилируется с помощью bicepconfig.json
папки A
, modB.bicep
компилируется с bicepconfig.json
B
помощью папки и, наконец, main.bicep
компилируется с помощью bicepconfig.json
root
папки.
В отсутствие bicepconfig.json
файла в A
папках и B
папках все три файла Bicep компилируются с помощью bicepconfig.json
найденных в папке root
файлов. Если bicepconfig.json
в папках нет, процесс компиляции по умолчанию использует значения по умолчанию.
Настройка модулей Bicep
При работе с модулями можно добавлять псевдонимы для путей модуля. Эти псевдонимы упрощают работу с файлом Bicep, так как вам не нужно повторять сложные пути. Вы также можете настроить приоритет облачных профилей и учетных данных для проверки подлинности в Azure из интерфейса командной строки Bicep и Visual Studio Code. Учетные данные используются для публикации модулей в реестрах и для восстановления внешних модулей в локальном кэше при использовании функции вставки ресурсов. Дополнительные сведения см. в разделе Добавление параметров модуля в конфигурацию Bicep.
Настройка правил Linter
Анализатор кода Bicep проверяет файлы Bicep на наличие синтаксических ошибок и нарушений рекомендаций. Можно переопределить параметры по умолчанию для проверки файлов Bicep, изменив bicepconfig.json
. Дополнительные сведения см. в разделе Добавление параметров анализатора кода в конфигурацию Bicep.
Включение экспериментальных функций
Экспериментальные функции можно включить, добавив следующий раздел в bicepconfig.json
файл. Использование экспериментальных функций автоматически включает создание кода версии 2.0 .
Ниже приведен пример включения функций "утверждения" и "testFramework".
{
"experimentalFeaturesEnabled": {
"assertions": true,
"testFramework": true
}
}
Сведения о текущем наборе экспериментальных функций см. в разделе "Экспериментальные функции".