Megosztás a következőn keresztül:


Erőforráscsoport üzembe helyezése Bicep-fájlokkal

Ez a cikk azt ismerteti, hogyan állíthatja be a hatókört a Bicep használatával egy erőforráscsoportba való üzembe helyezéskor.

Támogatott erőforrások

A legtöbb erőforrás üzembe helyezhető egy erőforráscsoportban. Az elérhető erőforrások listáját az ARM-sablonreferenciában találja.

Hatókör beállítása

Alapértelmezés szerint egy Bicep-fájl hatóköre az erőforráscsoportra terjed ki. Ha explicit módon szeretné beállítani a hatókört, használja a következőt:

targetScope = 'resourceGroup'

A céltartomány erőforráscsoportra történő beállítása azonban szükségtelen, mert alapértelmezés szerint ezt a hatókört használja a rendszer.

Üzembehelyezési parancsok

Az erőforráscsoportban való üzembe helyezéshez használja az erőforráscsoport üzembehelyezési parancsát.

Az Azure CLI-hez használja az üzembehelyezési csoport létrehozását. Az alábbi példa egy sablont helyez üzembe egy erőforráscsoport létrehozásához. A paraméterben --resource-group megadott erőforráscsoport a célerőforrás-csoport.

az deployment group create \
  --name demoRGDeployment \
  --resource-group ExampleGroup \
  --template-file main.bicep \
  --parameters storageAccountType=Standard_GRS

Az üzembehelyezési parancsokkal és az ARM-sablonok üzembe helyezési lehetőségével kapcsolatos további információkért lásd:

Üzembehelyezési hatókörök

Erőforráscsoportba való üzembe helyezéskor az erőforrásokat a következőre helyezheti üzembe:

  • az üzembe helyezési művelet célerőforrás-csoportja
  • más erőforráscsoportok ugyanabban az előfizetésben vagy más előfizetésben
  • bármely előfizetés a bérlőben
  • az erőforráscsoport bérlője

A bővítményerőforrás hatóköre az üzembehelyezési céltól eltérő célra terjedhet ki.

A sablont üzembe helyező felhasználónak hozzáféréssel kell rendelkeznie a megadott hatókörhöz.

Ez a szakasz bemutatja, hogyan adhat meg különböző hatóköröket. Ezeket a különböző hatóköröket egyetlen sablonban kombinálhatja.

Hatókör a célerőforráscsoporthoz

Ha erőforrásokat szeretne üzembe helyezni a cél erőforráscsoportban, vegye fel ezeket az erőforrásokat a Bicep-fájlba.

// resource deployed to target resource group
resource exampleResource 'Microsoft.Storage/storageAccounts@2019-06-01' = {
  ...
}

Példasablon : Üzembe helyezés célerőforráscsoportban.

Hatókör különböző erőforráscsoportra

Ha olyan erőforráscsoportba szeretne erőforrásokat telepíteni, amely nem a célerőforrás-csoport, adjon hozzá egy modult. A resourceGroup függvény használatával állítsa be a scope modul tulajdonságát.

Ha az erőforráscsoport egy másik előfizetésben található, adja meg az előfizetés azonosítóját és az erőforráscsoport nevét. Ha az erőforráscsoport ugyanabban az előfizetésben van, mint az aktuális üzemelő példány, csak az erőforráscsoport nevét adja meg. Ha nem ad meg előfizetést a resourceGroup függvényben, a rendszer az aktuális előfizetést használja.

Az alábbi példa egy olyan modult mutat be, amely egy másik előfizetésben lévő erőforráscsoportot céloz meg.

param otherResourceGroup string
param otherSubscriptionID string

// module deployed to different subscription and resource group
module exampleModule 'module.bicep' = {
  name: 'otherSubAndRG'
  scope: resourceGroup(otherSubscriptionID, otherResourceGroup)
}

A következő példa egy modult mutat be, amely ugyanabban az előfizetésben lévő erőforráscsoportot célozza meg.

param otherResourceGroup string

// module deployed to resource group in the same subscription
module exampleModule 'module.bicep' = {
  name: 'otherRG'
  scope: resourceGroup(otherResourceGroup)
}

Példasablon : Üzembe helyezés több erőforráscsoportban.

Hatókör az előfizetéshez

Ha erőforrásokat szeretne üzembe helyezni egy előfizetésben, adjon hozzá egy modult. Az előfizetési függvény használatával állítsa be a tulajdonságát scope .

Az aktuális előfizetésben való üzembe helyezéshez használja az előfizetési függvényt paraméter nélkül.


// module deployed at subscription level
module exampleModule 'module.bicep' = {
  name: 'deployToSub'
  scope: subscription()
}

Egy másik előfizetésben való üzembe helyezéshez adja meg az előfizetés azonosítóját paraméterként az előfizetési függvényben.

param otherSubscriptionID string

// module deployed at subscription level but in a different subscription
module exampleModule 'module.bicep' = {
  name: 'deployToSub'
  scope: subscription(otherSubscriptionID)
}

Példasablon : Erőforráscsoport létrehozása a Bicep-lel.

Hatókör a bérlőhöz

Ha erőforrásokat szeretne létrehozni a bérlőben, adjon hozzá egy modult. A bérlői függvény használatával állítsa be a tulajdonságátscope.

A sablont üzembe helyező felhasználónak rendelkeznie kell a bérlőn való üzembe helyezéshez szükséges hozzáféréssel.

Az alábbi példa egy, a bérlőn üzembe helyezett modult tartalmaz.

// module deployed at tenant level
module exampleModule 'module.bicep' = {
  name: 'deployToTenant'
  scope: tenant()
}

Modul használata helyett a hatókört tenant() bizonyos erőforrástípusokra is beállíthatja. Az alábbi példa egy felügyeleti csoportot helyez üzembe a bérlőben.

param mgName string = 'mg-${uniqueString(newGuid())}'

// ManagementGroup deployed at tenant
resource managementGroup 'Microsoft.Management/managementGroups@2020-05-01' = {
  scope: tenant()
  name: mgName
  properties: {}
}

output output string = mgName

További információ: Felügyeleti csoport.

Üzembe helyezés célerőforrás-csoportban

Az erőforrások célerőforráscsoportban való üzembe helyezéséhez definiálja ezeket az erőforrásokat a resources sablon szakaszában. Az alábbi sablon létrehoz egy tárfiókot az üzembe helyezési műveletben megadott erőforráscsoportban.

@minLength(3)
@maxLength(11)
param storagePrefix string

@allowed([
  'Standard_LRS'
  'Standard_GRS'
  'Standard_RAGRS'
  'Standard_ZRS'
  'Premium_LRS'
  'Premium_ZRS'
  'Standard_GZRS'
  'Standard_RAGZRS'
])
param storageSKU string = 'Standard_LRS'

param location string = resourceGroup().location

var uniqueStorageName = '${storagePrefix}${uniqueString(resourceGroup().id)}'

resource stg 'Microsoft.Storage/storageAccounts@2021-04-01' = {
  name: uniqueStorageName
  location: location
  sku: {
    name: storageSKU
  }
  kind: 'StorageV2'
  properties: {
    supportsHttpsTrafficOnly: true
  }
}

output storageEndpoint object = stg.properties.primaryEndpoints

Üzembe helyezés több erőforráscsoportban

Egyetlen Bicep-fájlban több erőforráscsoportban is üzembe helyezheti azokat.

Feljegyzés

Egyetlen üzembe helyezés során 800 erőforráscsoportban telepíthet. Ez a korlátozás általában azt jelenti, hogy a szülősablonhoz megadott egy erőforráscsoportban, beágyazott vagy csatolt üzemelő példányokban pedig legfeljebb 799 erőforráscsoportban telepítheti azokat. Ha azonban a szülősablon csak beágyazott vagy csatolt sablonokat tartalmaz, és önmagában nem helyez üzembe erőforrásokat, akkor legfeljebb 800 erőforráscsoportot vehet fel beágyazott vagy csatolt üzemelő példányokba.

Az alábbi példa két tárfiókot helyez üzembe. Az első tárfiók üzembe helyezése az üzembe helyezési műveletben megadott erőforráscsoportban történik. A második tárfiók a következő paraméterekben secondSubscriptionID megadott erőforráscsoportban secondResourceGroup van üzembe helyezve:

@maxLength(11)
param storagePrefix string

param firstStorageLocation string = resourceGroup().location

param secondResourceGroup string
param secondSubscriptionID string = ''
param secondStorageLocation string

var firstStorageName = '${storagePrefix}${uniqueString(resourceGroup().id)}'
var secondStorageName = '${storagePrefix}${uniqueString(secondSubscriptionID, secondResourceGroup)}'

module firstStorageAcct 'storage.bicep' = {
  name: 'storageModule1'
  params: {
    storageLocation: firstStorageLocation
    storageName: firstStorageName
  }
}

module secondStorageAcct 'storage.bicep' = {
  name: 'storageModule2'
  scope: resourceGroup(secondSubscriptionID, secondResourceGroup)
  params: {
    storageLocation: secondStorageLocation
    storageName: secondStorageName
  }
}

Mindkét modul ugyanazt a Storage.bicep nevű Bicep-fájlt használja.

param storageLocation string
param storageName string

resource storageAcct 'Microsoft.Storage/storageAccounts@2019-06-01' = {
  name: storageName
  location: storageLocation
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'Storage'
  properties: {}
}

Erőforráscsoport létrehozása

További információ az erőforráscsoportok létrehozásáról: Erőforráscsoport létrehozása a Bicep-lel.

Következő lépések

Az egyéb hatókörökről az alábbiakban olvashat: