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:
- Erőforrások üzembe helyezése ARM-sablonokkal és Azure CLI-vel
- Erőforrások üzembe helyezése ARM-sablonokkal és Azure PowerShell-lel
- ARM-sablonok üzembe helyezése a Cloud Shellből
Ü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@2023-04-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@2023-04-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@2023-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@2023-04-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: