Bagikan melalui


Perintah Bicep CLI

Artikel ini menjelaskan perintah yang dapat digunakan di Bicep CLI. Anda dapat menjalankan perintah ini dengan menggunakan Azure CLI atau dengan langsung memanggil perintah Bicep CLI. Setiap metode memerlukan proses penginstalan yang berbeda. Untuk informasi selengkapnya tentang penginstalan, lihat Azure CLI dan Azure PowerShell.

Panduan ini menunjukkan cara menjalankan perintah di Azure CLI. Saat menjalankan perintah di Azure CLI, mulai dengan az. Jika Anda tidak menggunakan Azure CLI, jalankan perintah tanpa az di awal masing-masing. Misalnya, az bicep build menjadi bicep build, dan az bicep version menjadi bicep --version.

build

Perintah mengonversi build file Bicep menjadi templat JSON Azure Resource Manager (templat ARM). Biasanya, Anda tidak perlu menjalankan perintah ini karena dijalankan secara otomatis saat Anda menyebarkan file Bicep. Jalankan secara manual saat Anda ingin melihat templat JSON ARM yang dibuat dari file Bicep Anda.

Menggunakan salah satu fitur Bicep berikut secara otomatis mengaktifkan pembuatan kode bahasa versi 2.0:

Contoh berikut mengonversi file Bicep bernama main.bicep ke templat ARM bernama main.json. File baru dibuat dalam direktori yang sama dengan file Bicep:

az bicep build --file main.bicep

Contoh berikutnya menyimpan main.json ke direktori lain:

az bicep build --file main.bicep --outdir c:\jsontemplates

Contoh berikutnya menentukan nama dan lokasi file yang akan dibuat:

az bicep build --file main.bicep --outfile c:\jsontemplates\azuredeploy.json

Untuk mencetak file ke stdout, gunakan:

az bicep build --file main.bicep --stdout

Jika file Bicep Anda menyertakan modul yang mereferensikan registri eksternal, build perintah secara otomatis memanggil restore. restore Perintah mendapatkan file dari registri dan menyimpannya di cache lokal.

Catatan

Perintah restore tidak menyegarkan cache. Untuk mengetahui informasi selengkapnya, lihat memulihkan.

Agar tidak memanggil pemulihan secara otomatis, gunakan sakelar --no-restore:

az bicep build --no-restore <bicep-file>

Proses build dengan sakelar --no-restore gagal jika salah satu modul eksternal belum di-cache:

The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" hasn't been restored.

Saat Anda mendapatkan kesalahan ini, jalankan build perintah tanpa --no-restore sakelar, atau jalankan bicep restore terlebih dahulu.

Untuk menggunakan sakelar --no-restore , Anda harus memiliki Bicep CLI versi 0.4.X atau yang lebih baru.

build-params

Perintah build-params membuat .bicepparam file ke dalam file parameter JSON:

az bicep build-params --file params.bicepparam

Perintah ini mengonversi file parameter params.bicepparam menjadi file parameter JSON params.json .

dekompilasi

Perintah mengonversi decompile templat JSON ARM menjadi file Bicep:

az bicep decompile --file main.json

Perintah ini membuat file bernama main.bicep di direktori yang sama dengan main.json. Jika main.bicep ada di direktori yang sama, gunakan tombol --force untuk menimpa file Bicep yang ada.

Untuk informasi selengkapnya tentang menggunakan perintah ini, lihat Mendekompilasi templat JSON ARM ke Bicep.

decompile-params

Perintah decompile-params mendekompresi file parameter JSON ke .bicepparam file parameter.

az bicep decompile-params --file azuredeploy.parameters.json --bicep-file ./dir/main.bicep

Perintah ini mendekompilasi file parameter azuredeploy.parameters.json ke dalam file azuredeploy.parameters.bicepparam . --bicep-file menentukan jalur ke file Bicep (relatif terhadap .bicepparam file) yang direferensikan dalam using deklarasi.

format

Perintah memformat format file Bicep. Ini memiliki fungsi yang sama dengan SHIFT+ALT+F pintasan di Visual Studio Code.

az bicep format --file main.bicep

generate-params

Perintah generate-params membangun file parameter dari file Bicep yang diberikan, memperbarui jika ada file parameter yang ada.

az bicep generate-params --file main.bicep --output-format bicepparam --include-params all

Perintah ini membuat file parameter Bicep bernama main.bicepparam. File parameter berisi semua parameter dalam file Bicep, baik dikonfigurasi dengan nilai default atau tidak.

az bicep generate-params --file main.bicep --outfile main.parameters.json

Perintah ini membuat file parameter bernama main.parameters.json. File parameter hanya berisi parameter tanpa nilai default yang dikonfigurasi dalam file Bicep.

Instal

Perintah menambahkan install Bicep CLI ke lingkungan lokal Anda, dan hanya tersedia melalui Azure CLI. Untuk informasi selengkapnya, lihat Instal Alat Bicep.

Untuk menginstal versi terkini, gunakan:

az bicep install

Untuk memasang versi tertentu:

az bicep install --version v0.3.255

jsonrpc

Perintah ini jsonrpc memungkinkan menjalankan Bicep CLI dengan antarmuka JSON-RPC, memungkinkan interaksi terprogram dengan output terstruktur dan menghindari penundaan cold-start saat mengkompilasi beberapa file. Penyiapan ini juga mendukung pembuatan pustaka untuk berinteraksi dengan file Bicep secara terprogram dalam bahasa non-.NET.

Format kawat untuk mengirim dan menerima input/output dibatasi header, menggunakan struktur berikut, di mana \r dan \n mewakili karakter pengembalian pengangkutan dan umpan baris:

Content-Length: <length>\r\n\r\n<message>\r\n\r\n
  • <length> adalah panjang <message> string, termasuk trailing \r\n\r\n.
  • <message> adalah pesan JSON mentah.

Contohnya:

Content-Length: 72\r\n\r\n{"jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {}}\r\n\r\n

Pesan berikut menunjukkan contoh untuk versi Bicep.

  • Input:

    {
      "jsonrpc": "2.0",
      "id": 0,
      "method": "bicep/version",
      "params": {}
    }
    
  • Outputnya:

    {
      "jsonrpc": "2.0",
      "id": 0,
      "result": {
        "version": "0.24.211"
      }
    }
    

Untuk metode yang tersedia & badan permintaan/respons, lihat ICliJsonRpcProtocol.cs. Misalnya membuat koneksi JSONRPC dan berinteraksi dengan file Bicep secara terprogram menggunakan Node, lihat jsonrpc.test.ts.

Penggunaan untuk pipa bernama

Gunakan sintaks berikut untuk menyambungkan ke pipa bernama yang sudah ada sebagai klien JSONRPC:

bicep jsonrpc --pipe <named_pipe>`

<named_pipe> adalah pipa bernama yang sudah ada untuk menyambungkan klien JSONRPC.

Untuk menyambungkan ke pipa bernama di OSX/Linux :

bicep jsonrpc --pipe /tmp/bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock

Untuk menyambungkan ke pipa bernama di Windows :

bicep jsonrpc --pipe \\.\pipe\\bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock`

Untuk contoh selengkapnya, lihat C# dan node.js.

Penggunaan untuk soket TCP

Gunakan sintaks berikut untuk menyambungkan ke soket TCP yang ada sebagai klien JSONRPC:

bicep jsonrpc --socket <tcp_socket>

<tcp_socket> adalah nomor soket tempat klien JSONRPC terhubung.

Untuk menyambungkan ke soket TCP:

bicep jsonrpc --socket 12345

Penggunaan untuk stdin dan stdout

Gunakan sintaks berikut dan stdin dan stdout untuk pesan untuk menjalankan antarmuka JSONRPC:

bicep jsonrpc --stdio

lint

Perintah lint mengembalikan kesalahan dan pelanggaran aturan linter dari file Bicep.

az bicep lint --file main.bicep

Jika file Bicep Anda menyertakan modul yang mereferensikan registri eksternal, lint perintah secara otomatis memanggil restore. restore Perintah mendapatkan file dari registri dan menyimpannya di cache lokal.

Catatan

Perintah restore tidak menyegarkan cache. Untuk mengetahui informasi selengkapnya, lihat memulihkan.

Agar tidak memanggil pemulihan secara otomatis, gunakan sakelar --no-restore:

az bicep lint --no-restore <bicep-file>

Proses lint dengan --no-restore sakelar gagal jika salah satu modul eksternal belum di-cache:

The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.

Ketika Anda mendapatkan kesalahan ini, jalankan perintah lint tanpa sakelar --no-restore atau jalankan bicep restore terlebih dahulu.

versi daftar

Perintah list-versions mengembalikan semua versi Bicep CLI yang tersedia. Gunakan perintah ini untuk melihat apakah Anda ingin meningkatkan atau menginstal versi baru. Perintah ini hanya tersedia melalui Azure CLI.

az bicep list-versions

Perintah mengembalikan array versi yang tersedia:

[
  "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"
]

terbitkan

Perintah publish menambahkan modul ke registri. Registri kontainer Azure harus ada dan penerbitan akun ke registri harus memiliki izin yang benar. Untuk informasi selengkapnya tentang menyiapkan registri modul, lihat Menggunakan registri privat untuk modul Bicep. Untuk menerbitkan modul, akun harus memiliki profil dan izin yang benar untuk mengakses registri. Anda dapat mengonfigurasi profil dan prioritas kredensial untuk mengautentikasi ke registri dalam file konfigurasi Bicep.

Setelah menerbitkan file ke registri, Anda dapat mereferensikannya dalam modul.

Anda harus memiliki Bicep CLI versi 0.14.X atau yang lebih baru untuk menggunakan publish perintah dan --documentationUri/-d parameter .

Untuk menerbitkan modul ke registri, gunakan:

az bicep publish --file <bicep-file> --target br:<registry-name>.azurecr.io/<module-path>:<tag> --documentationUri <documentation-uri>

Contohnya:

az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html

Perintah publish tidak mengenali alias yang ditentukan dalam file bicepconfig.json. Berikan jalur modul lengkap.

Peringatan

Penerbitan ke target yang sama menimpa modul lama. Kami menyarankan Anda meningkatkan versi saat memperbarui.

pulihkan

Ketika file Bicep Anda menggunakan modul yang dipublikasikan ke registri, perintah restore mendapatkan salinan dari semua modul yang diperlukan dari registri. Ia menyimpan salinan tersebut dalam cache lokal. File Bisep hanya dapat dibangun ketika file eksternal tersedia di cache lokal. Biasanya, menjalankan pemulihan tidak diperlukan karena secara otomatis dipicu oleh proses build.

Untuk memulihkan modul eksternal ke cache lokal, akun harus memiliki profil dan izin yang benar untuk mengakses registri. Anda dapat mengonfigurasi profil dan prioritas kredensial untuk mengautentikasi ke registri dalam file konfigurasi Bicep.

Untuk menggunakan restore perintah , Anda harus memiliki Bicep CLI versi 0.14.X atau yang lebih baru. Saat ini, perintah ini hanya tersedia saat memanggil Bicep CLI secara langsung. Saat ini tidak tersedia melalui Azure CLI.

Untuk memulihkan modul eksternal secara manual untuk file, gunakan:

az bicep restore --file <bicep-file> [--force]

File Bicep yang Anda sediakan adalah file yang ingin Anda sebarkan. File harus berisi modul yang menautkan ke registri. Misalnya, Anda dapat memulihkan file berikut:

module stgModule 'br:exampleregistry.azurecr.io/bicep/modules/storage:v1' = {
  name: 'storageDeploy'
  params: {
    storagePrefix: 'examplestg1'
  }
}

Cache lokal ditemukan dalam:

  • Di Windows

    %USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
    
  • Di Linux

    /home/<username>/.bicep
    
  • Di Mac

    ~/.bicep
    

Perintah restore tidak merefresh cache jika modul sudah di-cache. Untuk menyegarkan cache, Anda dapat menghapus jalur modul dari cache atau menggunakan sakelar --force dengan restore perintah .

peningkatan

Perintah upgrade memperbarui versi terinstal Anda dengan versi terbaru. Perintah ini hanya tersedia melalui Azure CLI.

az bicep upgrade

version

Perintah version mengembalikan versi yang diinstal:

az bicep version

Perintah menunjukkan nomor versi:

Bicep CLI version 0.22.6 (d62b94db31)

Untuk memanggil perintah ini secara langsung melalui Bicep CLI, gunakan:

bicep --version

Jika Bicep CLI belum diinstal, Anda akan melihat pesan kesalahan yang menyatakan bahwa Bicep CLI tidak ditemukan.

Langkah berikutnya

Untuk mempelajari selengkapnya tentang menyebarkan file Bicep, lihat: