Настройка среды Bicep
Bicep поддерживает необязательный файл конфигурации с именем bicepconfig.json. В этом файле можно добавить значения, настраивающие процесс разработки Bicep. Этот файл объединяется с файлом конфигурации по умолчанию. Дополнительные сведения см. в разделе "Общие сведения о процессе слияния". Чтобы настроить конфигурацию, создайте файл конфигурации в том же каталоге или родительском каталоге файлов Bicep. Если есть несколько родительских каталогов, содержащих файлы bicepconfig.json , Bicep использует конфигурацию из ближайшей. Дополнительные сведения см. в разделе "Общие сведения о процессе разрешения файлов".
Сведения о настройке параметров расширения Bicep см. в расширении Visual Studio 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 на наличие синтаксических ошибок и нарушений рекомендаций. Вы можете изменить файл bicepconfig.json , чтобы переопределить параметры по умолчанию для проверки файла Bicep. Дополнительные сведения см. в разделе Добавление параметров анализатора кода в конфигурацию Bicep.
Включение экспериментальных функций
Экспериментальные функции можно включить, добавив следующий раздел в файл bicepconfig.json . Использование экспериментальных функций автоматически включает создание кода версии 2.0 .
Ниже приведен пример включения функций "утверждения" и "testFramework".
{
"experimentalFeaturesEnabled": {
"assertions": true,
"testFramework": true
}
}
Дополнительные сведения о экспериментальных функциях Bicep см. в разделе "Экспериментальные функции ".
Следующие шаги
- Узнайте, как добавить параметры модуля и параметры linter в файл конфигурации Bicep.
- Узнайте о Bicep linter.