Erőforráscsoport-üzemelő példányok Bicep-fájlokkal
Ez a cikk azt ismerteti, hogyan állíthatja be a hatókört a Bicep használatával egy erőforráscsoportban 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 lásd: ARM-sablon referenciája.
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él hatókörének erőforráscsoportra való 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 az deployment group create (Üzembe helyezési csoport létrehozása) lehetőséget. 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 ARM-sablonok üzembe helyezési parancsaival és beállításaival kapcsolatos részletesebb 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
- ARM-sablonok üzembe helyezése Cloud Shell
Üzembehelyezési hatókörök
Erőforráscsoportban való üzembe helyezéskor az erőforrásokat a következőre helyezheti üzembe:
- az üzembe helyezési művelet célerőforráscsoportja
- más erőforráscsoportok ugyanabban az előfizetésben vagy más előfizetésekben
- 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él erőforráscsoporthoz
Ha erőforrásokat szeretne üzembe helyezni a cél erőforráscsoportban, adja hozzá ezeket az erőforrásokat a Bicep-fájlhoz.
// resource deployed to target resource group
resource exampleResource 'Microsoft.Storage/storageAccounts@2019-06-01' = {
...
}
Példasablon: Üzembe helyezés célerőforrás-csoportra.
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énnyel á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 található, 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 egy erőforráscsoportot céloz 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. A tulajdonság beállításához használja az előfizetési függvénytscope
.
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()
}
Ha egy másik előfizetésben szeretne üzembe helyezni, adja meg ezt az előfizetés-azonosító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 használatával.
Hatókör a bérlőre
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át scope
.
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()
}
A modul használata helyett a hatókört tenant()
egyes 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 a cél erőforráscsoportban
Ha erőforrásokat szeretne üzembe helyezni a célerőforráscsoportban, 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.
Megjegyzés
Egyetlen üzemelő példányban 800 erőforráscsoportot helyezhet üzembe. Ez a korlátozás általában azt jelenti, hogy a fölérendelt sablonhoz megadott egyetlen erőforráscsoportban, illetve legfeljebb 799 erőforráscsoportban helyezhet üzembe beágyazott vagy csatolt üzemelő példányokban. Ha azonban a szülősablon csak beágyazott vagy csatolt sablonokat tartalmaz, és önmagában nem helyez üzembe erőforrásokat, akkor akár 800 erőforráscsoportot is belefoglalhat beágyazott vagy csatolt környezetekbe.
Az alábbi példa két tárfiókot helyez üzembe. Az első tárfiók az üzembe helyezési műveletben megadott erőforráscsoportra lesz üzembe helyezve. A második tárfiók a és secondSubscriptionID
paraméterekben megadott erőforráscsoportra 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 használatával.
Következő lépések
A többi hatókörrel kapcsolatos további információkért lásd: