Команды Bicep CLI
В этой статье описываются команды, которые можно использовать в интерфейсе Bicep CLI. Эти команды можно выполнить с помощью Azure CLI или непосредственного вызова команд Bicep CLI. Для каждого метода требуется отдельный процесс установки. Дополнительные сведения об установках см . в Azure CLI и Azure PowerShell.
В этом руководстве показано, как выполнять команды в Azure CLI. При выполнении команд в Azure CLI начните с них az
. Если вы не используете Azure CLI, выполните команды без az
каждой из них. Например, az bicep build
становится bicep build
и az bicep version
становится bicep --version
.
сборка
Команда build
преобразует Bicep-файл в шаблон Azure Resource Manager JSON (шаблон ARM). Как правило, выполнять эту команду не нужно, так как она выполняется автоматически при развертывании файла Bicep. Запустите его вручную, когда вы хотите увидеть шаблон ARM JSON, созданный из файла Bicep.
При использовании любой из следующих функций Bicep автоматически включается создание кода версии 2.0:
- определяемые пользователем типы
- определяемые пользователем функции
- Импорт во время компиляции
- экспериментальные функции
В приведенном ниже примере файл Bicep с именем main.bicep преобразуется в шаблон ARM с именем main.json. Новый файл создается в том же каталоге, что и файл Bicep:
az bicep build --file main.bicep
Следующий пример сохраняет main.json в другом каталоге:
az bicep build --file main.bicep --outdir c:\jsontemplates
В следующем примере указывается имя и расположение создаваемого файла:
az bicep build --file main.bicep --outfile c:\jsontemplates\azuredeploy.json
Чтобы напечатать файл в stdout
, используйте следующую команду:
az bicep build --file main.bicep --stdout
Если файл Bicep содержит модуль, ссылающийся на внешний реестр, build
команда автоматически вызывается restore
. Команда restore
получает файл из реестра и сохраняет его в локальном кэше.
Примечание.
Команда restore
не обновляет кэш. Дополнительные сведения см. здесь.
Чтобы не вызывать restore автоматически, используйте параметр --no-restore
:
az bicep build --no-restore <bicep-file>
Процесс сборки с параметром --no-restore
завершается сбоем, если один из внешних модулей еще не кэширован:
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" hasn't been restored.
При получении этой ошибки выполните команду без --no-restore
переключателя или запустите build
bicep restore
сначала.
Чтобы использовать --no-restore
этот параметр, необходимо иметь Bicep CLI версии 0.4.X или более поздней.
сборка-params
Команда build-params
создает .bicepparam
файл в файл параметров JSON:
az bicep build-params --file params.bicepparam
Эта команда преобразует файл параметров params.bicepparam в файл параметров params.json JSON.
decompile
Команда decompile
преобразует шаблон JSON ARM в файл Bicep:
az bicep decompile --file main.json
Эта команда создает файл с именем main.bicep в том же каталоге, что и main.json. Если main.bicep существует в том же каталоге, используйте --force , чтобы перезаписать существующий файл Bicep.
Дополнительные сведения об использовании этой команды см. в разделе "Decompile JSON ARM template to Bicep".
decompile-params
Команда decompile-params
декомпилирует файл параметров JSON в .bicepparam
файл параметров.
az bicep decompile-params --file azuredeploy.parameters.json --bicep-file ./dir/main.bicep
Эта команда декомпилирует файл параметров azuredeploy.parameters.json в файл azuredeploy.parameters.bicepparam . --bicep-file
указывает путь к Bicep-файлу (относительно .bicepparam
файла), на который ссылается объявление using
.
format
Команда format
форматирует файл Bicep. Она имеет ту же функцию, что SHIFT+ALT+F
и ярлык в Visual Studio Code.
az bicep format --file main.bicep
generate-params
Команда generate-params
создает файл параметров из заданного файла Bicep, обновляется, если существует существующий файл параметров.
az bicep generate-params --file main.bicep --output-format bicepparam --include-params all
Эта команда создает файл параметров Bicep с именем main.bicepparam. Файл параметров содержит все параметры в файле Bicep, независимо от того, настроено ли значение по умолчанию.
az bicep generate-params --file main.bicep --outfile main.parameters.json
Эта команда создает файл параметров с именем main.parameters.json. Файл параметров содержит только параметры без значений по умолчанию, настроенных в файле Bicep.
Установить
Команда install
добавляет интерфейс командной строки Bicep в локальную среду, и она доступна только через Azure CLI. Дополнительные сведения см. в статье Установка средств Bicep.
Чтобы установить последнюю версию, выполните следующую команду:
az bicep install
Установка конкретного выпуска:
az bicep install --version v0.3.255
jsonrpc
Эта jsonrpc
команда позволяет запускать интерфейс командной строки Bicep с интерфейсом JSON-RPC, что позволяет программно взаимодействовать со структурированными выходными данными и избегать задержек холодного запуска при компиляции нескольких файлов. Эта настройка также поддерживает создание библиотек для программного взаимодействия с файлами Bicep на non-.NET языках.
Формат провода для отправки и получения входных и выходных данных имеет разделители заголовков, используя следующую структуру, где \r
и \n
представляют символы возврата каретки и канала строки:
Content-Length: <length>\r\n\r\n<message>\r\n\r\n
<length>
— длина<message>
строки, включая конечную\r\n\r\n
строку.<message>
— это необработанное сообщение JSON.
Например:
Content-Length: 72\r\n\r\n{"jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {}}\r\n\r\n
В следующем сообщении показан пример версии Bicep.
Входные данные:
{ "jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {} }
Результаты:
{ "jsonrpc": "2.0", "id": 0, "result": { "version": "0.24.211" } }
Доступные методы и тела запроса и ответа см. в разделе ICliJsonRpcProtocol.cs
.
Пример установки подключения JSONRPC и взаимодействия с файлами Bicep программным способом с помощью Node см. в разделе jsonrpc.test.ts
.
Использование именованного канала
Используйте следующий синтаксис для подключения к существующему именованном каналу в качестве клиента JSONRPC:
bicep jsonrpc --pipe <named_pipe>`
<named_pipe>
— это существующий именованный канал для подключения клиента JSONRPC к.
Чтобы подключиться к именованной каналу в OSX/Linux:
bicep jsonrpc --pipe /tmp/bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock
Чтобы подключиться к именованной каналу в Windows, выполните указанные действия.
bicep jsonrpc --pipe \\.\pipe\\bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock`
Дополнительные примеры см. в разделе C# и node.js.
Использование сокета TCP
Используйте следующий синтаксис для подключения к существующему сокету TCP в качестве клиента JSONRPC:
bicep jsonrpc --socket <tcp_socket>
<tcp_socket>
— номер сокета, к которому подключается клиент JSONRPC.
Чтобы подключиться к сокету TCP, выполните приведенные действия.
bicep jsonrpc --socket 12345
Использование stdin и stdout
Используйте следующий синтаксис и stdin
stdout
сообщения для запуска интерфейса JSONRPC:
bicep jsonrpc --stdio
lint
Команда lint
возвращает ошибки и нарушения правил linter файла Bicep.
az bicep lint --file main.bicep
Если файл Bicep содержит модуль, ссылающийся на внешний реестр, lint
команда автоматически вызывается restore
. Команда restore
получает файл из реестра и сохраняет его в локальном кэше.
Примечание.
Команда restore
не обновляет кэш. Дополнительные сведения см. здесь.
Чтобы не вызывать restore автоматически, используйте параметр --no-restore
:
az bicep lint --no-restore <bicep-file>
Процесс lint с коммутатором --no-restore
завершается ошибкой, если один из внешних модулей еще не кэширован:
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.
При возникновении этой ошибки выполните команду lint
без параметра --no-restore
либо сначала выполните bicep restore
.
list-versions
Команда list-versions
возвращает все доступные версии интерфейса Bicep CLI. Используйте эту команду, чтобы узнать, требуется ли обновить или установить новую версию. Эта команда доступна только через Azure CLI.
az bicep list-versions
Команда возвращает массив доступных версий:
[
"v0.28.1",
"v0.27.1",
"v0.26.170",
"v0.26.54",
"v0.25.53",
"v0.25.3",
"v0.24.24",
"v0.23.1",
"v0.22.6",
"v0.21.1",
"v0.20.4",
"v0.19.5",
"v0.18.4",
"v0.17.1",
"v0.16.2",
"v0.16.1",
"v0.15.31",
"v0.14.85",
"v0.14.46",
"v0.14.6",
"v0.13.1",
"v0.12.40",
"v0.12.1",
"v0.11.1",
"v0.10.61",
"v0.10.13",
"v0.9.1",
"v0.8.9",
"v0.8.2",
"v0.7.4"
]
публикация
Команда publish
добавляет модуль в реестр. Реестр контейнеров Azure должен существовать, а учетная запись, осуществляющая публикацию в него, должна иметь подходящие разрешения. Дополнительные сведения о настройке реестра модулей см. в разделе Использование частного реестра для модулей Bicep. Чтобы опубликовать модуль, учетная запись должна иметь правильный профиль и разрешения для доступа к реестру. Вы можете настроить приоритет профиля и учетных данных для проверки подлинности в реестре в файле конфигурации Bicep.
После публикации файла в реестре вы можете ссылаться на него в модуле.
Для использования publish
команды и-d
--documentationUri
/параметра необходимо использовать Bicep CLI версии 0.14.X или более поздней.
Чтобы опубликовать модуль в реестре, используйте следующее:
az bicep publish --file <bicep-file> --target br:<registry-name>.azurecr.io/<module-path>:<tag> --documentationUri <documentation-uri>
Например:
az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html
Команда publish
не распознает псевдонимы, указанные в файле bicepconfig.json. Укажите полный путь модуля.
Предупреждение
Публикация в том же целевом объекте перезапишет старый модуль. Рекомендуется увеличивать версию при внесении изменений.
Восстановление
Если файл Bicep использует модули, опубликованные в реестре, команда restore
получает из реестра копии всех необходимых модулей. Эти копии помещаются в локальный кэш. Сборку файла Bicep можно выполнить только при наличии внешних файлов в локальном кэше. Обычно выполнение восстановления не требуется, так как он автоматически активируется процессом сборки.
Чтобы восстановить внешние модули в локальном кэше, учетная запись должна иметь правильный профиль и разрешения для доступа к реестру. Вы можете настроить приоритет профиля и учетных данных для проверки подлинности в реестре в файле конфигурации Bicep.
Чтобы использовать restore
команду, необходимо иметь интерфейс командной строки Bicep версии 0.14.X или более поздней. В настоящее время эта команда доступна только при вызове интерфейса командной строки Bicep напрямую. Сейчас он недоступен через Azure CLI.
Чтобы вручную восстановить внешние модули для файла, используйте следующее:
az bicep restore --file <bicep-file> [--force]
Вы предоставляете файл Bicep, который хотите развернуть. Он должен содержать модуль, связанный с реестром. Например, можно восстановить следующий файл:
module stgModule 'br:exampleregistry.azurecr.io/bicep/modules/storage:v1' = {
name: 'storageDeploy'
params: {
storagePrefix: 'examplestg1'
}
}
Расположение локального кэша:
В Windows
%USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
В Linux
/home/<username>/.bicep
На Компьютере Mac
~/.bicep
Команда restore
не обновляет кэш, если модуль уже кэширован. Чтобы обновить кэш, можно удалить путь модуля из кэша или использовать --force
переключатель с restore
помощью команды.
обновление
Команда upgrade
обновляет установленную версию до последней версии. Эта команда доступна только через Azure CLI.
az bicep upgrade
версия
Команда version
возвращает установленную версию:
az bicep version
Команда показывает номер версии:
Bicep CLI version 0.22.6 (d62b94db31)
Чтобы вызвать эту команду непосредственно через Bicep CLI, используйте следующее:
bicep --version
Если интерфейс командной строки Bicep не установлен, появится сообщение об ошибке, указывающее, что интерфейс командной строки Bicep не найден.
Следующие шаги
Дополнительные сведения о развертывании Bicep-файла см. в следующем разделе: