Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Bicep CLI'da kullanabileceğiniz komutlar açıklanmaktadır. Azure CLI kullanarak veya doğrudan Bicep CLI komutlarını çağırarak bu komutları yürütebilirsiniz. Her yöntem ayrı bir yükleme işlemi gerektirir. Yüklemeler hakkında daha fazla bilgi için bkz. Azure CLI ve Azure PowerShell.
Bu kılavuz, Azure CLI komutların nasıl çalıştırılacaklarını gösterir. komutları Azure CLI çalıştırırken az ile başlatın. Azure CLI kullanmıyorsanız, komutları her birinin başında az olmadan çalıştırın. Örneğin, az bicep build olur bicep buildve az bicep version olur bicep --version.
derleme
build komutu bir Bicep dosyasını JSON Azure Resource Manager şablonuna (ARM şablonu) dönüştürür. Genellikle, bir Bicep dosyası dağıttığınızda otomatik olarak çalıştığından bu komutu çalıştırmanız gerekmez. Bicep dosyanızdan oluşturulan JSON ARM şablonunu görmek istediğinizde el ile çalıştırın.
Aşağıdaki Bicep özelliklerinden herhangi birinin kullanılması, dil sürümü 2.0 kod oluşturmayı otomatik olarak etkinleştirir:
- kullanıcı tanımlı türler
- kullanıcı tanımlı işlevler
- derleme zamanı içeri aktarmaları
- deneysel özellikler
Aşağıdaki örnek, main.bicep adlı bir Bicep dosyasını dönüştürürmain.json adlı ARM şablonuna . Yeni dosya, Bicep dosyasıyla aynı dizinde oluşturulur:
Sonraki örnek, main.json farklı bir dizine kaydeder:
Aşağıdaki örnek, oluşturulacak dosyanın adını ve konumunu belirtir:
dosyasını 'a yazdırmak için stdoutşunu kullanın:
Bicep dosyanız dış kayıt defterine başvuran bir modül içeriyorsa, build komutu otomatik olarak restore çağırır. komutu restore dosyayı kayıt defterinden alır ve yerel önbellekte depolar.
Not
Komut restore önbelleği yenilemez. Daha fazla bilgi için bkz . geri yükleme.
Otomatik geri yüklemeyi önlemek için şu anahtarı kullanın --no-restore :
bicep build --no-restore <bicep-file>
--no-restore anahtarını kullanmak için Bicep CLI sürüm 0.4.X veya üzeri olmalıdır.
Dış modüllerden biri henüz önbelleğe alınmadıysa anahtarla --no-restore derleme işlemi başarısız olur:
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" hasn't been restored.
Bu hatayı aldığınızda, anahtarı olmadan komutunu çalıştırın build veya önce komutunu çalıştırın--no-restore.bicep restore
build-params
build-params komutu bir JSON parametre dosyasına bir .bicepparam dosya oluşturur:
Bu komut bir params.bicepparam parametre dosyasını params.json JSON parametre dosyasına dönüştürür.
Decompile
decompile komutu bir JSON ARM şablonunu Bicep dosyasına dönüştürür:
Bu komut, main.json ile aynı dizinde main.bicep adlı bir dosya oluşturur.
aynıysa. bicep aynı dizinde var, var olan Bicep dosyasının üzerine yazmak için --force anahtarını kullanın.
Bu komutu kullanma hakkında daha fazla bilgi için bkz. Decompile JSON ARM template to Bicep.
decompile-params
decompile-params komutu bir JSON parametre dosyasını parametre .bicepparam dosyasına koda ayırır.
bicep decompile-params azuredeploy.parameters.json --bicep-file ./dir/main.bicep
Bu komut, bir azuredeploy.parameters.json parametre dosyasını azuredeploy.parameters.bicepparam dosyasına ayırır.
using bildiriminde başvuruda bulunılan Bicep dosyasının yolunu (.bicepparam dosyasına göre) belirtmek için --bicep-file kullanın.
format
format komutu, önerilen stil kurallarına uygun olacak şekilde bir Bicep dosyası biçimlendirmektedir. Bunu, Bicep dosyalarınız için bir kod biçimlendirici veya "daha güzel" olarak düşünün. Visual Studio Code'daki SHIFT+ALT+F kısayoluyla aynı işleve sahiptir.
generate-params
generate-params komutu, verilen Bicep dosyasından bir parametre dosyası oluşturur ve mevcut bir parametre dosyası varsa bunu güncelleştirir.
bicep generate-params main.bicep --output-format bicepparam --include-params all
Bu komut, main.bicepparam adlı bir Bicep parametre dosyası oluşturur. Parametre dosyası, varsayılan değerlerle yapılandırılsa da yapılandırılmasa da Bicep dosyasındaki tüm parametreleri içerir.
Bu komut, main.parameters.json adlı bir parametre dosyası oluşturur. Parametre dosyası yalnızca Bicep dosyasında yapılandırılmış varsayılan değerleri olmayan parametreleri içerir.
yükle
install komutu, Bicep CLI'yi yerel ortamınıza ekler ve yalnızca Azure CLI aracılığıyla kullanılabilir. Daha fazla bilgi için bkz. Bicep araçlarını yükleme.
En son sürümü yüklemek için şunu kullanın:
Belirli bir sürümü yüklemek için aşağıdaki komutu kullanın:
jsonrpc
jsonrpc komutu, JSON-RPC arabirimiyle Bicep CLI'yi çalıştırır. Bu arabirimi kullanarak yapılandırılmış çıkışla program aracılığıyla etkileşim kurabilirsiniz. Ayrıca, birden çok dosya derlerken soğuk başlatma gecikmelerinden kaçınabilirsiniz. Bu kurulum, .NET olmayan dillerde program aracılığıyla Bicep dosyalarla etkileşim kurmak için kitaplıklar oluşturmayı destekler.
Giriş ve çıkış göndermek ve almak için kablo biçimi üst bilgiyle ayrılmıştır. Satır başı ve \n satır besleme karakterlerinin bulunduğu ve temsil ettiği \r aşağıdaki yapıyı kullanır:
Content-Length: <length>\r\n\r\n<message>\r\n\r\n
-
<length>, sonundaki<message>\r\n\r\ndahil olmak üzere dizenin uzunluğudur. -
<message>ham JSON iletisidir.
Örneğin:
Content-Length: 72\r\n\r\n{"jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {}}\r\n\r\n
Aşağıdaki yöntemler JSON-RPC arabirimi aracılığıyla kullanılabilir:
bicep/biçim
bir Bicep dosyasını biçimlendirin.
İstek:
{ "jsonrpc": "2.0", "id": 1, "method": "bicep/format", "params": { "path": "/path/to/file.bicep" } }Yanıt:
{ "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" } }Başarılı olduğunda,
"success": truedöndürülür ve içerik biçimlendirilmiş Bicep kaynağını tutar. Hata durumunda,"success": falsediagnosticshatanın açıklanmasıyla.
bicep/sürüm
Bicep CLI sürümünü döndürür.
İstek:
{ "jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {} }Yanıt:
{ "jsonrpc": "2.0", "id": 0, "result": { "version": "0.24.211" } }
Kullanılabilir yöntemler, istek ve yanıt gövdeleri için bkz. ICliJsonRpcProtocol.cs.
JSONRPC bağlantısı kurma ve Node kullanarak Bicep dosyalarıyla program aracılığıyla etkileşim kurma örneği için bkz. jsonrpc.test.ts.
Adlandırılmış kanal kullanımı
Mevcut bir adlandırılmış kanala JSONRPC istemcisi olarak bağlanmak için aşağıdaki söz dizimini kullanın:
bicep jsonrpc --pipe <named_pipe>`
<named_pipe> , JSONRPC istemcisini bağlamak için mevcut adlandırılmış bir kanaldır.
macOS veya Linux üzerinde adlandırılmış bir kanala bağlanmak için:
Windows adlandırılmış kanala bağlanmak için:
bicep jsonrpc --pipe \\.\pipe\\bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock`
Daha fazla örnek için bkz. C# ve node.js.
TCP yuvası kullanımı
Mevcut bir TCP yuvasına JSONRPC istemcisi olarak bağlanmak için aşağıdaki söz dizimini kullanın:
bicep jsonrpc --socket <tcp_socket>
<tcp_socket> JSONRPC istemcisinin bağlandığı yuva numarasıdır.
TCP yuvasına bağlanmak için:
stdin ve stdout kullanımı
JSONRPC arabirimini çalıştırmak için aşağıdaki söz dizimini kullanın. İletiler için ve stdout kullanınstdin:
Lint
lint komutu, Bicep dosyasının hatalarını ve linter kuralı ihlallerini döndürür.
Bicep dosyanız dış kayıt defterine başvuran bir modül içeriyorsa, lint komutu otomatik olarak restore çağırır. komutu restore dosyayı kayıt defterinden alır ve yerel önbellekte depolar.
Not
Komut restore önbelleği yenilemez. Daha fazla bilgi için bkz . geri yükleme.
Otomatik geri yüklemeyi önlemek için şu anahtarı kullanın --no-restore :
Dış modüllerden biri henüz önbelleğe alınmadıysa anahtarla --no-restore lint işlemi başarısız olur:
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.
Bu hatayı aldığınızda, komutunu anahtar olmadan lint çalıştırın --no-restore veya önce çalıştırınbicep restore.
liste sürümleri
list-versions komutu, Bicep CLI'nın tüm kullanılabilir sürümlerini döndürür. Yeni bir sürümü yükseltmek mi yoksa yüklemek mi istediğinizi görmek için bu komutu kullanın. Bu komut yalnızca Azure CLI aracılığıyla kullanılabilir.
publish
publish komutu kayıt defterine bir modül ekler. Azure kapsayıcı kayıt defteri mevcut olmalıdır ve kayıt defterinde yayımlama hesabı doğru izinlere sahip olmalıdır. Modül kayıt defterini ayarlama hakkında daha fazla bilgi için bkz. Bicep modülleri için özel kayıt defteri kullanma. Modülü yayımlamak için hesabın kayıt defterine erişmek için doğru profile ve izinlere sahip olması gerekir.
Bicep yapılandırma dosyasında kayıt defterinde kimlik doğrulaması yapmak için profil ve kimlik bilgisi önceliğini yapılandırabilirsiniz.
Dosyayı kayıt defterinde yayımladıktan sonra bir modülde başvurabilirsiniz.
publish komutunu ve --documentationUri/-d parametresini kullanmak için Bicep CLI sürüm 0.14.X veya sonraki bir sürümüne sahip olmanız gerekir.
Bir modülü kayıt defterinde yayımlamak için şunu kullanın:
bicep publish <bicep-file> --target br:<registry-name>.azurecr.io/<module-path>:<tag> --documentationUri <documentation-uri>
Örneğin:
bicep publish storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html
Komut, publish bicepconfig.json dosyasında belirtilen diğer adları tanımıyor. Tam modül yolunu belirtin.
Uyarı
Aynı hedefe yayımlamak eski modülün üzerine yazar. Güncelleştirme sırasında sürümü artırma.
geri yükleme
Bicep dosyanız bir kayıt defterinde yayımladığınız modülleri kullandığında, restore komutu kayıt defterinden tüm gerekli modüllerin kopyalarını alır. Bu kopyaları yerel önbellekte depolar. Bicep dosyası yalnızca dış dosyalar yerel önbellekte kullanılabilir olduğunda oluşturulabilir. Normalde, derleme işlemi tarafından otomatik olarak tetiklendiğinden geri yüklemeyi çalıştırmak gerekli değildir.
Dış modülleri yerel önbelleğe geri yüklemek için hesabın kayıt defterine erişmek için doğru profile ve izinlere sahip olması gerekir. Bicep yapılandırma dosyasında kayıt defterinde kimlik doğrulaması yapmak için profile ve kimlik bilgisi önceliği yapılandırabilirsiniz.
restore komutunu kullanmak için Bicep CLI sürüm 0.14.X veya üzeri olmalıdır.
Bir dosyanın dış modüllerini el ile geri yüklemek için şunu kullanın:
Sağladığınız Bicep dosyası, dağıtmak istediğiniz dosyadır. Kayıt defterine bağlanan bir modül içermelidir. Örneğin, aşağıdaki dosyayı geri yükleyebilirsiniz:
module stgModule 'br:exampleregistry.azurecr.io/bicep/modules/storage:v1' = {
name: 'storageDeploy'
params: {
storagePrefix: 'examplestg1'
}
}
Yerel önbelleği şu şekilde bulabilirsiniz:
Windows
%USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>Linux'ta
/home/<username>/.bicepMac'te
~/.bicep
Bir restore modül zaten önbelleğe alınmışsa komut önbelleği yenilemez. Önbelleği yenilemek için modül yolunu önbellekten silebilir veya komutuyla --force anahtarı kullanabilirsinizrestore.
snapshot
Bicep CLI v0.41.2 veya daha yeni bir sürümünü kullanarak snapshot komutunu kullanarak .bicepparam dosyasından Bicep dağıtımının normalleştirilmiş, belirleyici bir gösterimini oluşturabilirsiniz. Bir yeniden düzenlemenin Azure hiçbir şey dağıtmadan hangi değişikliklere neden olacağını anlamak için bu anlık görüntüyü daha sonraki anlık görüntülerle karşılaştırabilirsiniz. Bu komut özellikle şunlar için kullanışlıdır:
- Görsel Farklar: Yeniden düzenlemenin (kodu modüle taşıma gibi) temel alınan kaynak tanımlarını tam olarak nasıl değiştirdiğini görmek.
- Karmaşık İfadeler: Dağıtımdan önce karmaşık bir dizenin veya değişkenin gerçekte ne olduğunu anlama.
- CI/CD Doğrulaması: Çekme istekleri sırasında altyapı mantığındaki istenmeyen değişiklikleri otomatik olarak yakalar.
Anlık görüntü oluşturma
Bu komut bir .snapshot.json dosya oluşturur. Bu dosya "normalleştirilmiştir", yani kaynaklara odaklanabilmeniz için modül sınırları gibi gürültüyü giderir.
Aşağıdaki JSON dosyasında bir anlık görüntü örneği gösterilmektedir:
{
"predictedResources": [
{
"id": "[format('/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Storage/storageAccounts/stmyappstorage001', subscription().subscriptionId, resourceGroup().name)]",
"type": "Microsoft.Storage/storageAccounts",
"name": "stmyappstorage001",
"apiVersion": "2025-01-01",
"location": "eastus",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2"
}
],
"diagnostics": []
}
Değişiklikleri doğrulama
Anlık görüntü oluşturduktan sonra komutunu doğrulama modunda çalıştırın. Geçerli Bicep kodunuzu kaydedilen anlık görüntüyle karşılaştırır ve what-if komutuna çok benzer ancak tamamen yerel bir görsel fark gösterir.
Örnek çıkış şöyle görünür:
PS C:\bicep> bicep snapshot --mode validate main.bicepparam
Snapshot validation failed. Expected no changes, but found the following:
Scope: <unknown>
~ [format('/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Storage/storageAccounts/stmyappstorage001', subscription().subscriptionId, resourceGroup().name)]
~ apiVersion: "2025-01-01" => "2025-06-01"
~ sku.name: "Standard_LRS" => "Standard_GRS"
"Anlık görüntü doğrulaması başarısız oldu", iki anlık görüntü arasındaki farkları gösterir.
BICEP CLI anlık görüntüsü ve Durum aşağıdaki farklara sahiptir:
| Özellik | bicep snapshot |
az deployment group what-if |
|---|---|---|
| Yürütme | Yalnızca yerel (Çevrimdışı) | Bulut tabanlı (Çevrimiçi) |
| Karşılaştırma | Kodu ve kaydedilmiş dosyayı karşılaştırır | Kod ile canlı Azure durumunu karşılaştırır |
| Hız | Son derece hızlı | Daha yavaş (API çağrıları gerektirir) |
| Kullanım Örneği | Yeniden düzenleme ve mantık testi | Dağıtım öncesi son denetim |
Bağlam sağlama
Bicep anlık görüntüsünü çalıştırırken CLI, kodunuzun yerel değerlendirmesini gerçekleştirir. Azure konuşmadığından, buluta Abonelik Kimliğinizi veya geçerli Kaynak Grubu adını "soramaz".
Kodunuz ortam işlevleri (gibi subscription().id) kullanıyorsa, CLI bağımsız değişkenleri aracılığıyla belirli bir bağlam sağlamadığınız sürece anlık görüntü başarısız olur veya yer tutucular döndürür.
Gerçek bir dağıtım ortamının benzetimini yapmak için aşağıdaki bayrakları geçirebilirsiniz:
| Argument | Amaç | Örnek Değer |
|---|---|---|
--subscription-id |
tarafından döndürülen değeri değiştirir subscription().subscriptionId |
00000000-1111-2222-3333-444444444444 |
--resource-group |
tarafından döndürülen değeri değiştirir resourceGroup().name |
my-production-rg |
--location |
için varsayılan konumu ayarlar deployment().location |
westeurope |
--tenant-id |
tarafından döndürülen değeri değiştirir tenant().tenantId |
72f988bf-86f1-41af-91ab-2d7cd011db47 |
--management-group |
tarafından döndürülen değeri değiştirir managementGroup().name |
my-corp-mg |
bicep snapshot main.bicepparam \
--subscription-id 00000000-0000-0000-0000-000000000000 \
--resource-group my-temp-rg \
--location eastus \
--mode overwrite
yükseltme
Komut, upgrade yüklü sürümünüzü en son sürümle güncelleştirir. Bu komut yalnızca Azure CLI aracılığıyla kullanılabilir.
sürüm
Komut version , yüklü sürümünüzü döndürür:
bicep --version
Bicep CLI'yı yüklemediyseniz, Bicep CLI'nin bulunamadığını belirten bir hata iletisi görürsünüz.
Komut, sürüm numarasını gösterir:
Bicep CLI version 0.29.45 (57a44c0230)
Sonraki adımlar
Bicep dosyası dağıtma hakkında daha fazla bilgi edinmek için bkz: