Bicep ve Azure PowerShell ile kaynakları dağıtma
Bu makalede kaynaklarınızı Azure'a Azure PowerShell bicep dosyalarıyla nasıl kullanabileceğiniz açıklanmıştır. Azure çözümlerinizi dağıtma ve yönetme kavramlarını biliyorsanız bkz. Bicep'e genel bakış.
Önkoşullar
Dağıtmak için bir Bicep dosyası gerekir. Dosya yerel olmalı.
Azure'Azure PowerShell bağlanarak bağlanmanız gerekir:
- Yerel Azure PowerShell cmdlet'leri yükleyin. Bicep dosyalarını dağıtmak için 5.6.0 Azure PowerShell sonraki bir sürümüne ihtiyacınız vardır. Daha fazla bilgi için bkz. Azure PowerShell kullanmaya başlayın.
- Bağlan-AzAccount Bağlan Azure'a edinin. Birden çok Azure aboneliğiniz varsa, Set-AzContext'i de çalıştırmanız gerekir. Daha fazla bilgi için bkz. Birden çok Azure aboneliği kullanma.
PowerShell yüklüyse, PowerShell'i Azure Cloud Shell. Daha fazla bilgi için bkz. Azure Cloud Shell'dan Bicep dosyalarını dağıtma.
Dağıtım kapsamı
Dağıtımınızı bir kaynak grubuna, aboneliğe, yönetim grubuna veya kiracıya hedefleyebilirsiniz. Dağıtımın kapsamına bağlı olarak farklı komutlar kullanırsınız.
Bir kaynak grubuna dağıtmak için New-AzResourceGroupDeployment kullanın:
New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name> -TemplateFile <path-to-bicep>Bir aboneliğe dağıtmak için cmdlet'in diğer adı olan New-AzSubscriptionDeployment
New-AzDeploymentkullanın:New-AzSubscriptionDeployment -Location <location> -TemplateFile <path-to-bicep>Abonelik düzeyinde dağıtımlar hakkında daha fazla bilgi için bkz. Abonelik düzeyinde kaynak grupları ve kaynaklar oluşturma.
Bir yönetim grubuna dağıtmak için New-AzManagementGroupDeployment kullanın.
New-AzManagementGroupDeployment -ManagementGroupId <management-group-id> -Location <location> -TemplateFile <path-to-bicep>Yönetim grubu düzeyinde dağıtımlar hakkında daha fazla bilgi için bkz. Yönetim grubu düzeyinde kaynak oluşturma.
Bir kiracıya dağıtmak için New-AzTenantDeployment kullanın.
New-AzTenantDeployment -Location <location> -TemplateFile <path-to-bicep>Kiracı düzeyinde dağıtımlar hakkında daha fazla bilgi için bkz. Kiracı düzeyinde kaynak oluşturma.
Her kapsam için şablonu dağıtan kullanıcının kaynak oluşturmak için gerekli izinlere sahip olması gerekir.
Yerel Bicep dosyasını dağıtma
Bicep dosyasını yerel makineden veya harici olarak depolanan bir dosyadan dağıtabilirsiniz. Bu bölümde yerel bir Bicep dosyasının dağıtımı açık almaktadır.
Mevcut olmayan bir kaynak grubuna dağıtıyorsanız kaynak grubunu oluşturun. Kaynak grubunun adı yalnızca alfasayısal karakterler, nokta, alt çizgi, kısa çizgi ve parantez içerebilir. En fazla 90 karakter olabilir. Ad, noktayla bite bir süreyle sona erer.
New-AzResourceGroup -Name ExampleGroup -Location "Central US"
Yerel bir Bicep dosyası dağıtmak için dağıtım -TemplateFile komutunda parametresini kullanın.
New-AzResourceGroupDeployment `
-Name ExampleDeployment `
-ResourceGroupName ExampleGroup `
-TemplateFile <path-to-bicep>
Dağıtımın tamamlanması birkaç dakika sürebilir.
Remote Bicep dosyasını dağıtma
Şu Azure PowerShell, uzak Bicep dosyalarını dağıtmayı desteklemez. Bicep dosyasını bir JSON şablonuna derlemek ve ardından JSON dosyasını uzak konuma yüklemek için Bicep CLI'yi kullanın.
Parametreler
Parametre değerlerini geçmek için satır içi parametreleri veya parametre dosyasını kullanabilirsiniz.
Satır içi parametreler
Satır içi parametreleri geçmek için komutuyla parametrenin adlarını New-AzResourceGroupDeployment girin. Örneğin, bir dizeyi ve diziyi Bicep dosyasına geçmek için kullanın:
$arrayParam = "value1", "value2"
New-AzResourceGroupDeployment -ResourceGroupName testgroup `
-TemplateFile <path-to-bicep> `
-exampleString "inline string" `
-exampleArray $arrayParam
Ayrıca dosyanın içeriğini de almak ve bu içeriği satır içi parametre olarak sağlamaktır.
$arrayParam = "value1", "value2"
New-AzResourceGroupDeployment -ResourceGroupName testgroup `
-TemplateFile <path-to-bicep> `
-exampleString $(Get-Content -Path c:\MyTemplates\stringcontent.txt -Raw) `
-exampleArray $arrayParam
Bir dosyadan parametre değeri almak, yapılandırma değerleri sağlamanız gereken zaman yararlı olur. Örneğin, bir Linux sanal makinesi için cloud-init değerleri sebilirsiniz.
Bir nesne dizisi eklemeniz gerekirse, PowerShell'de karma tablolar oluşturun ve bunları bir diziye ekleyin. Dağıtım sırasında bu diziyi parametre olarak iletir.
$hash1 = @{ Name = "firstSubnet"; AddressPrefix = "10.0.0.0/24"}
$hash2 = @{ Name = "secondSubnet"; AddressPrefix = "10.0.1.0/24"}
$subnetArray = $hash1, $hash2
New-AzResourceGroupDeployment -ResourceGroupName testgroup `
-TemplateFile <path-to-bicep> `
-exampleArray $subnetArray
Parametre dosyaları
Parametreleri betiğinize satır içi değerler olarak geçirmek yerine parametre değerlerini içeren bir JSON dosyası kullanmak daha kolayınıza gelebilir. Parametre dosyası yerel bir dosya veya erişilebilir bir URI'ye sahip bir dış dosya olabilir. Bicep dosyası JSON parametre dosyalarını kullanır.
Parametre dosyası hakkında daha fazla bilgi için bkz. Resource Manager parametre dosyası oluşturma.
Yerel parametre dosyasını geçmek için parametresini TemplateParameterFile kullanın:
New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup `
-TemplateFile c:\BicepFiles\storage.bicep `
-TemplateParameterFile c:\BicepFiles\storage.parameters.json
Dış parametre dosyası geçmek için parametresini TemplateParameterUri kullanın:
New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup `
-TemplateFile c:\BicepFiles\storage.bicep `
-TemplateParameterUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.parameters.json
Değişiklikleri önizleme
Bicep dosyanızı dağıtmadan önce, Bicep dosyasının ortamınıza yapacakları değişikliklerin önizlemesini görebilirsiniz. Bicep dosyasının beklediğiniz değişiklikleri yaptığını doğrulamak için what-if dosyasını kullanın. What-if ayrıca Bicep dosyasını hatalar için doğrular.
Şablon özellikleri dağıtma
Şu Azure PowerShell, Bicep dosyaları sağlayarak şablon özellikleri oluşturmayı desteklemez. Ancak, şablon özellikleri dağıtmak için Microsoft.Resources/templateSpecs kaynağıyla bir Bicep dosyası oluşturabilirsiniz. Şablon özellikleri oluşturma örneği, Bicep dosyasında şablon özellikleri oluşturma hakkında bilgi sağlar. Ayrıca Bicep CLI'yi kullanarak Bicep dosyanızı JSON'a oluşturabilir ve ardından JSON şablonuyla şablon özellikleri oluşturabilirsiniz.
Dağıtım adı
Bicep dosyası dağıtırken dağıtıma bir ad veebilirsiniz. Bu ad, dağıtımı dağıtım geçmişinden a yardımcı olabilir. Dağıtım için bir ad sağlasanız bile Bicep dosyasının adı kullanılır. Örneğin, adlı bir Bicep dağıtırsanız ve main.bicep bir dağıtım adı belirtmezseniz, dağıtım olarak main adlandırılmıştır.
Bir dağıtımı her çalıştırarak kaynak grubunun dağıtım geçmişine dağıtım adıyla bir giriş eklenir. Başka bir dağıtım çalıştırarak aynı adı kullanırsanız, önceki giriş geçerli dağıtımla değiştirilir. Dağıtım geçmişinde benzersiz girdileri korumak için her dağıtıma benzersiz bir ad girin.
Benzersiz bir ad oluşturmak için rastgele bir sayı at rastgele bir sayı atarak.
$suffix = Get-Random -Maximum 1000
$deploymentName = "ExampleDeployment" + $suffix
Veya bir tarih değeri ekleyin.
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="ExampleDeployment"+"$today"
Aynı kaynak grubuna aynı dağıtım adıyla eşzamanlı dağıtımlar çalıştırıyorsanız, yalnızca son dağıtım tamamlanır. Aynı adla bitmiş tüm dağıtımlar son dağıtımla değiştirilir. Örneğin, adlı bir depolama hesabı dağıtan adlı bir dağıtım çalıştırıyorsanız ve aynı zamanda adlı bir depolama hesabı dağıtan adlı başka bir dağıtım çalıştırıyorsanız, yalnızca bir depolama newStorage storage1 hesabı newStorage storage2 dağıtırsınız. Sonuçta elde edilen depolama hesabı olarak storage2 adlandırılmıştır.
Ancak adlı bir depolama hesabı dağıtan adlı bir dağıtım çalıştırıyorsanız ve tamamlandıktan hemen sonra adlı bir depolama hesabı dağıtan adlı başka bir dağıtım çalıştırıyorsanız iki depolama newStorage storage1 hesabınız newStorage storage2 olur. Biri , storage1 diğeri ise olarak adlandırılmış. storage2 Ancak dağıtım geçmişinde yalnızca bir girişiniz vardır.
Her dağıtım için benzersiz bir ad belirttiğinizde, bunları çakışma olmadan eşzamanlı olarak çalıştırabilirsiniz. adlı bir depolama hesabı dağıtan adlı bir dağıtım çalıştırıyorsanız ve aynı zamanda adlı bir depolama hesabı dağıtan adlı başka bir dağıtım çalıştırıyorsanız, dağıtım geçmişinde iki depolama hesabınız ve iki newStorage1 storage1 newStorage2 storage2 girdiniz olur.
Eşzamanlı dağıtımlarla çakışmaları önlemek ve dağıtım geçmişinde benzersiz girişler sağlamak için her dağıtıma benzersiz bir ad girin.
Sonraki adımlar
- Dosyanıza parametreleri tanımlamayı anlamak için bkz. Bicep dosyalarının yapısını ve söz dizimini anlama.