Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются команды, которые можно использовать в интерфейсе 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:
bicep build main.bicep
Следующий пример сохраняет main.json в другом каталоге:
bicep build main.bicep --outdir c:\jsontemplates
В следующем примере указывается имя и расположение создаваемого файла:
bicep build main.bicep --outfile c:\jsontemplates\azuredeploy.json
Чтобы напечатать файл в stdout, используйте следующую команду:
bicep build main.bicep --stdout
Если файл Bicep содержит модуль, ссылающийся на внешний реестр, build команда автоматически вызывается restore. Команда restore получает файл из реестра и сохраняет его в локальном кэше.
Примечание.
Команда restore не обновляет кэш. Дополнительные сведения см. здесь.
Чтобы не вызывать restore автоматически, используйте параметр --no-restore:
bicep build --no-restore <bicep-file>
Чтобы использовать --no-restore этот параметр, необходимо иметь Bicep CLI версии 0.4.X или более поздней.
Процесс сборки с параметром --no-restore завершается сбоем, если один из внешних модулей еще не кэширован:
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" hasn't been restored.
При получении этой ошибки выполните команду без build переключателя или запустите --no-restorebicep restore сначала.
сборка-params
Команда build-params создает .bicepparam файл в файл параметров JSON:
bicep build-params params.bicepparam
Эта команда преобразует файл параметров params.bicepparam в файл параметров params.json JSON.
decompile
Команда decompile преобразует шаблон JSON ARM в файл Bicep:
bicep decompile main.json
Эта команда создает файл с именем main.bicep в том же каталоге, что и main.json. Если main.bicep существует в том же каталоге, используйте --force , чтобы перезаписать существующий файл Bicep.
Дополнительные сведения об использовании этой команды см. в разделе "Decompile JSON ARM template to Bicep".
decompile-params
Команда decompile-params декомпилирует файл параметров JSON в .bicepparam файл параметров.
bicep decompile-params azuredeploy.parameters.json --bicep-file ./dir/main.bicep
Эта команда декомпилирует файл параметров azuredeploy.parameters.json в файл azuredeploy.parameters.bicepparam .
--bicep-file указывает путь к Bicep-файлу (относительно .bicepparam файла), на который ссылается объявление using .
format
Команда format форматирует Bicep-файл таким образом, чтобы он соблюдал рекомендуемые соглашения о стиле. Подумайте об этом как о "средстве форматирования кода" или "более красивом" для файлов Bicep. Она имеет ту же функцию, что SHIFT+ALT+F и ярлык в Visual Studio Code.
bicep format main.bicep
generate-params
Команда generate-params создает файл параметров из заданного файла Bicep, обновляется, если существует существующий файл параметров.
bicep generate-params main.bicep --output-format bicepparam --include-params all
Эта команда создает файл параметров Bicep с именем main.bicepparam. Файл параметров содержит все параметры в файле Bicep, независимо от того, настроено ли значение по умолчанию.
bicep generate-params main.bicep --outfile main.parameters.json
Эта команда создает файл параметров с именем main.parameters.json. Файл параметров содержит только параметры без значений по умолчанию, настроенных в файле Bicep.
Установить
Команда install добавляет интерфейс командной строки Bicep в локальную среду, и она доступна только через Azure CLI. Дополнительные сведения см. в статье Установка средств Bicep.
Чтобы установить последнюю версию, выполните следующую команду:
Установка конкретного выпуска:
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
Следующие методы доступны через интерфейс JSON-RPC:
bicep/format
Форматирует Bicep-файл.
Запрос:
{ "jsonrpc": "2.0", "id": 1, "method": "bicep/format", "params": { "path": "/path/to/file.bicep" } }Ответ:
{ "jsonrpc": "2.0", "id": 1, "result": { "success": true, "diagnostics": [], "contents": "param foo string\n\nresource storage 'Microsoft.Storage/storageAccounts@2025-01-01' = {\n name: 'mystorageaccount'\n location: 'East US'\n}\n" } }При успешном выполнении
"success": trueвозвращается содержимое, в который содержится форматированный источник Bicep. При сбое"success": falseсdiagnosticsописанием сбоя.
bicep/version
Возвращает версию интерфейса командной строки 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
Используйте следующий синтаксис и stdinstdout сообщения для запуска интерфейса JSONRPC:
bicep jsonrpc --stdio
lint
Команда lint возвращает ошибки и нарушения правил linter файла Bicep.
bicep lint main.bicep
Если файл Bicep содержит модуль, ссылающийся на внешний реестр, lint команда автоматически вызывается restore. Команда restore получает файл из реестра и сохраняет его в локальном кэше.
Примечание.
Команда restore не обновляет кэш. Дополнительные сведения см. здесь.
Чтобы не вызывать restore автоматически, используйте параметр --no-restore:
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.
публикация
Команда publish добавляет модуль в реестр. Реестр контейнеров Azure должен существовать, а учетная запись, осуществляющая публикацию в него, должна иметь подходящие разрешения. Дополнительные сведения о настройке реестра модулей см. в разделе Использование частного реестра для модулей Bicep. Чтобы опубликовать модуль, учетная запись должна иметь правильный профиль и разрешения для доступа к реестру. Вы можете настроить приоритет профиля и учетных данных для проверки подлинности в реестре в файле конфигурации Bicep.
После публикации файла в реестре вы можете ссылаться на него в модуле.
Для использования команды иpublish--documentationUri/параметра необходимо использовать -d версии 0.14.X или более поздней.
Чтобы опубликовать модуль в реестре, используйте следующее:
bicep publish <bicep-file> --target br:<registry-name>.azurecr.io/<module-path>:<tag> --documentationUri <documentation-uri>
Например:
bicep publish 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 restore <bicep-file>
Вы предоставляете файл 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.
версия
Команда version возвращает установленную версию:
bicep --version
Если интерфейс командной строки Bicep не установлен, появится сообщение об ошибке, указывающее, что интерфейс командной строки Bicep не найден.
Команда показывает номер версии:
Bicep CLI version 0.29.45 (57a44c0230)
Следующие шаги
Дополнительные сведения о развертывании Bicep-файла см. в следующем разделе: