Rövid útmutató: Sablon-specifikáció létrehozása és üzembe helyezése a Bicep használatával

Ez a rövid útmutató bemutatja, hogyan hozhat létre és helyezhet üzembe sablonspektratívokat egy Bicep-fájllal. A sablon specifikációja egy erőforráscsoportban van üzembe helyezve, így a szervezet tagjai erőforrásokat helyezhetnek üzembe a Microsoft Azure-ban. A sablon specifikációi lehetővé teszik az üzembehelyezési sablonok megosztását anélkül, hogy hozzáférést kellene adni a felhasználóknak a Bicep-fájl módosításához. Ez a sablonspecifikációs példa egy Bicep-fájlt használ egy tárfiók üzembe helyezéséhez.

Sablonleképezés létrehozásakor a Bicep-fájl JavaScript Object Notation (JSON) lesz. A sablon specifikációja JSON-t használ az Azure-erőforrások üzembe helyezéséhez. Jelenleg nem használhatja a Microsoft Azure Portalt Bicep-fájlok importálására és sablon-specifikációs erőforrás létrehozására.

Előfeltételek

Bicep-fájl létrehozása

Sablon-specifikációt egy helyi Bicep-fájlból hozhat létre. Másolja ki a következő mintát, és mentse a számítógépre main.bicep néven. A példák a C:\templates\main.bicep elérési utat használják. Használhat egy másik elérési utat, de módosítania kell a parancsokat.

Az alábbi Bicep-fájlt használja a PowerShell és a PARANCSSOR lap. A Bicep fájlfül egy másik sablont használ, amely a Bicep és a JSON használatával hoz létre és helyez üzembe egy sablon-specifikációt.

@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

Sablon specifikáció létrehozása

A sablon specifikációja egy Microsoft.Resources/templateSpecs nevű erőforrástípus. Sablon specifikáció létrehozásához használja az Azure CLI-t, az Azure PowerShellt vagy egy Bicep-fájlt.

Ez a példa az erőforráscsoport nevét templateSpecRGhasználja. Más nevet is használhat, de módosítania kell a parancsokat.

  1. Hozzon létre egy új erőforráscsoportot a sablon specifikációjának tartalmaznia.

    New-AzResourceGroup `
      -Name templateSpecRG `
      -Location westus2
    
  2. Hozza létre a sablon specifikációját az erőforráscsoportban. Adja meg az új sablon specifikációjának a storageSpec nevet.

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

Sablon specifikáció üzembe helyezése

Tárfiók üzembe helyezéséhez használja a sablon specifikációt. Ez a példa az erőforráscsoport nevét storageRGhasználja. Más nevet is használhat, de módosítania kell a parancsokat.

  1. Hozzon létre egy erőforráscsoportot az új tárfiók tárolásához.

    New-AzResourceGroup `
      -Name storageRG `
      -Location westus2
    
  2. Kérje le a sablon specifikációjának erőforrás-azonosítóját.

    $id = (Get-AzTemplateSpec -ResourceGroupName templateSpecRG -Name storageSpec -Version "1.0").Versions.Id
    
  3. A sablon specifikációjának üzembe helyezése.

    New-AzResourceGroupDeployment `
      -TemplateSpecId $id `
      -ResourceGroupName storageRG
    
  4. Pontosan ugyanúgy adja meg a paramétereket, mint egy Bicep-fájl üzembe helyezéséhez. A sablon specifikációjának ismételt üzembe helyezése a tárfiók típusának paraméterével.

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

Hozzáférés biztosítása

Ha engedélyezni szeretné, hogy a szervezet más felhasználói üzembe helyezhessék a sablon specifikációját, olvasási hozzáférést kell biztosítani számukra. Az Olvasó szerepkört hozzárendelheti egy Microsoft Entra-csoporthoz ahhoz az erőforráscsoporthoz, amely a megosztani kívánt sablon-specifikációkat tartalmazza. További információ : Oktatóanyag: Csoporthozzáférés biztosítása Azure-erőforrásokhoz az Azure PowerShell használatával.

Bicep-fájl frissítése

A sablon specifikációjának létrehozása után úgy döntött, hogy frissíti a Bicep-fájlt. A PowerShell- vagy CLI-lapok példáinak folytatásához másolja ki a mintát, és cserélje le a main.bicep fájlt.

A paraméter storageNamePrefix a tárfiók nevének előtagértékét adja meg. A storageAccountName változó egyedi sztringgel fűzi össze az előtagot.

@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

Sablon specifikációs verziójának frissítése

Ahelyett, hogy új sablonspecifikációt hoz létre a módosított sablonhoz, adjon hozzá egy új, a meglévő sablon specifikációjának elnevezett 2.0 verziót. A felhasználók bármelyik verziót üzembe helyezhetik.

  1. Hozza létre a sablon specifikációjának új verzióját.

    New-AzTemplateSpec `
      -Name storageSpec `
      -Version "2.0" `
      -ResourceGroupName templateSpecRG `
      -Location westus2 `
      -TemplateFile "C:\templates\main.bicep"
    
  2. Az új verzió üzembe helyezéséhez kérje le a verzió erőforrás-azonosítóját 2.0 .

    $id = (Get-AzTemplateSpec -ResourceGroupName templateSpecRG -Name storageSpec -Version "2.0").Versions.Id
    
  3. Telepítse az új verziót, és adja meg a storageNamePrefix tárfiók nevének előtagot.

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

Clean up resources

Az ebben a rövid útmutatóban üzembe helyezett erőforrások törléséhez törölje mindkét erőforráscsoportot. Az erőforráscsoport, a sablon specifikációi és a tárfiókok törlődnek.

Az erőforráscsoportok törléséhez használja az Azure PowerShellt vagy az Azure CLI-t.

Remove-AzResourceGroup -Name "templateSpecRG"

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

az group delete --name storageRG

Következő lépések