Hızlı Başlangıç: Bicep ile şablon belirtimi oluşturma ve dağıtma

Bu hızlı başlangıçta, Bicep dosyasıyla şablon belirtimlerinin nasıl oluşturulacağı ve dağıtılacağı açıklanmaktadır. Kuruluşunuzdaki kişilerin Microsoft Azure'da kaynak dağıtabilmesi için bir kaynak grubuna bir şablon belirtimi dağıtılır. Şablon belirtimleri, kullanıcılara Bicep dosyasını değiştirme erişimi vermek zorunda kalmadan dağıtım şablonlarını paylaşmanızı sağlar. Bu şablon belirtimi örneği, depolama hesabı dağıtmak için bir Bicep dosyası kullanır.

Şablon belirtimi oluşturduğunuzda, Bicep dosyası JavaScript Nesne Gösterimi'ne (JSON) dönüştürülür. Şablon belirtimi, Azure kaynaklarını dağıtmak için JSON kullanır. Şu anda Bir Bicep dosyasını içeri aktarmak ve şablon belirtimi kaynağı oluşturmak için Microsoft Azure portalını kullanamazsınız.

Ön koşullar

Bicep dosyası oluşturma

Yerel bicep dosyasından bir şablon belirtimi oluşturursunuz. Aşağıdaki örneği kopyalayın ve main.bicep olarak bilgisayarınıza kaydedin. Örneklerde C:\templates\main.bicep yolu kullanılır. Farklı bir yol kullanabilirsiniz, ancak komutları değiştirmeniz gerekir.

Aşağıdaki Bicep dosyası PowerShell ve CLI sekmelerinde kullanılır. Bicep dosya sekmesi, şablon belirtimi oluşturmak ve dağıtmak için Bicep ve JSON'u birleştiren farklı bir şablon kullanır.

@allowed([
  'Premium_LRS'
  'Premium_ZRS'
  'Standard_GRS'
  'Standard_GZRS'
  'Standard_LRS'
  'Standard_RAGRS'
  'Standard_RAGZRS'
  'Standard_ZRS'
])
@description('Storage account type.')
param storageAccountType string = 'Standard_LRS'

@description('Location for all resources.')
param location string = resourceGroup().location

var storageAccountName = 'storage${uniqueString(resourceGroup().id)}'

resource storageAccount 'Microsoft.Storage/storageAccounts@2022-09-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: storageAccountType
  }
  kind: 'StorageV2'
  properties: {}
}

output storageAccountNameOutput string = storageAccount.name

Şablon belirtimi oluşturma

Şablon belirtimi Microsoft.Resources/templateSpecs adlı bir kaynak türüdür. Şablon belirtimi oluşturmak için Azure CLI, Azure PowerShell veya bicep dosyası kullanın.

Bu örnekte kaynak grubu adı templateSpecRGkullanılır. Farklı bir ad kullanabilirsiniz, ancak komutları değiştirmeniz gerekir.

  1. Şablon belirtimini içerecek yeni bir kaynak grubu oluşturun.

    New-AzResourceGroup `
      -Name templateSpecRG `
      -Location westus2
    
  2. Bu kaynak grubunda şablon belirtimini oluşturun. Yeni şablona storageSpec adını verin.

    New-AzTemplateSpec `
      -Name storageSpec `
      -Version "1.0" `
      -ResourceGroupName templateSpecRG `
      -Location westus2 `
      -TemplateFile "C:\templates\main.bicep"
    

Şablon belirtimlerini dağıtma

Depolama hesabı dağıtmak için şablon belirtimini kullanın. Bu örnekte kaynak grubu adı storageRGkullanılır. Farklı bir ad kullanabilirsiniz, ancak komutları değiştirmeniz gerekir.

  1. Yeni depolama hesabını içerecek bir kaynak grubu oluşturun.

    New-AzResourceGroup `
      -Name storageRG `
      -Location westus2
    
  2. Şablon belirtiminin kaynak kimliğini alın.

    $id = (Get-AzTemplateSpec -ResourceGroupName templateSpecRG -Name storageSpec -Version "1.0").Versions.Id
    
  3. Şablon belirtimini dağıtın.

    New-AzResourceGroupDeployment `
      -TemplateSpecId $id `
      -ResourceGroupName storageRG
    
  4. Parametreleri tam olarak bicep dosya dağıtımında yaptığınız gibi sağlarsınız. Şablon belirtimini depolama hesabı türü için bir parametreyle yeniden dağıtın.

    New-AzResourceGroupDeployment `
      -TemplateSpecId $id `
      -ResourceGroupName storageRG `
      -storageAccountType Standard_GRS
    

Erişim verme

Kuruluşunuzdaki diğer kullanıcıların şablon belirtiminizi dağıtmasına izin vermek istiyorsanız, onlara okuma erişimi vermeniz gerekir. Okuyucu rolünü, paylaşmak istediğiniz şablon belirtimlerini içeren kaynak grubu için bir Microsoft Entra grubuna atayabilirsiniz. Daha fazla bilgi için bkz . Öğretici: Azure PowerShell kullanarak Azure kaynaklarına grup erişimi verme.

Bicep dosyasını güncelleştirme

Şablon belirtimi oluşturulduktan sonra Bicep dosyasını güncelleştirmeye karar verdiniz. PowerShell veya CLI sekmelerindeki örneklerle devam etmek için örneği kopyalayın ve main.bicep dosyanızı değiştirin.

parametresi storageNamePrefix , depolama hesabı adı için bir ön ek değeri belirtir. değişkeni, storageAccountName ön eki benzersiz bir dizeyle birleştirir.

@allowed([
  'Premium_LRS'
  'Premium_ZRS'
  'Standard_GRS'
  'Standard_GZRS'
  'Standard_LRS'
  'Standard_RAGRS'
  'Standard_RAGZRS'
  'Standard_ZRS'
])
@description('Storage account type.')
param storageAccountType string = 'Standard_LRS'

@description('Location for all resources.')
param location string = resourceGroup().location

@maxLength(11)
@description('The storage account name prefix.')
param storageNamePrefix string = 'storage'

var storageAccountName = '${toLower(storageNamePrefix)}${uniqueString(resourceGroup().id)}'

resource storageAccount 'Microsoft.Storage/storageAccounts@2022-09-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: storageAccountType
  }
  kind: 'StorageV2'
  properties: {}
}

output storageAccountNameOutput string = storageAccount.name

Şablon belirtim sürümünü güncelleştirme

Düzeltilen şablon için yeni bir şablon belirtimi oluşturmak yerine, var olan şablon belirtimine adlı 2.0 yeni bir sürüm ekleyin. Kullanıcılar iki sürümü de dağıtmayı seçebilir.

  1. Şablon belirtiminin yeni bir sürümünü oluşturun.

    New-AzTemplateSpec `
      -Name storageSpec `
      -Version "2.0" `
      -ResourceGroupName templateSpecRG `
      -Location westus2 `
      -TemplateFile "C:\templates\main.bicep"
    
  2. Yeni sürümü dağıtmak için 2.0 sürümün kaynak kimliğini alın.

    $id = (Get-AzTemplateSpec -ResourceGroupName templateSpecRG -Name storageSpec -Version "2.0").Versions.Id
    
  3. Yeni sürümü dağıtın ve depolama hesabı adı için bir ön ek belirtmek için öğesini kullanın storageNamePrefix .

    New-AzResourceGroupDeployment `
      -TemplateSpecId $id `
      -ResourceGroupName storageRG `
      -storageNamePrefix "demo"
    

Kaynakları temizleme

Bu hızlı başlangıçta dağıtmış olduğunuz kaynakları temizlemek için her iki kaynak grubunu da silin. Kaynak grubu, şablon belirtimleri ve depolama hesapları silinir.

Kaynak gruplarını silmek için Azure PowerShell veya Azure CLI kullanın.

Remove-AzResourceGroup -Name "templateSpecRG"

Remove-AzResourceGroup -Name "storageRG"
az group delete --name templateSpecRG

az group delete --name storageRG

Sonraki adımlar