Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A gyermekerőforrások olyan erőforrások, amelyek csak egy másik erőforrás környezetében léteznek. Virtuálisgép-bővítmény például nem létezhet virtuális gép nélkül. A bővítményerőforrás a virtuális gép gyermeke.
Minden szülőerőforrás csak bizonyos erőforrástípusokat fogad el gyermekerőforrásként. Az erőforrástípusok hierarchiája a Bicep-erőforrásreferenciában érhető el.
Ez a cikk különböző módszereket mutat be a gyermekerőforrás deklarálásához.
Képzési erőforrások
Ha a gyermekerőforrásokat lépésről lépésre szeretné megismerni, olvassa el a Gyermek- és bővítményerőforrások üzembe helyezése a Bicep használatával című témakört.
Név- és típusminta
A Bicepben megadhatja a gyermekerőforrást a szülőerőforráson belül vagy a szülőerőforráson kívül. Az erőforrás nevéhez és erőforrástípusához megadott értékek a gyermekerőforrás deklarálása alapján változnak. A teljes név és típus azonban mindig ugyanazzal a mintával oldható fel.
A gyermekerőforrás teljes neve a következő mintát használja:
{parent-resource-name}/{child-resource-name}
Ha a hierarchia több mint két szintje van, ismételje meg a szülőneveket:
{parent-resource-name}/{child-level1-resource-name}/{child-level2-resource-name}
A gyermekerőforrás teljes típusa a következő mintát használja:
{resource-provider-namespace}/{parent-resource-type}/{child-resource-type}
Ha a hierarchia több mint két szintje van, ismételje meg a szülőerőforrás-típusokat:
{resource-provider-namespace}/{parent-resource-type}/{child-level1-resource-type}/{child-level2-resource-type}
Ha megszámolja a karakterek közötti / szegmenseket, a típusban lévő szegmensek száma mindig egynél több, mint a névben szereplő szegmensek száma.
Szülőerőforráson belül
Az alábbi példa a szülőerőforrás erőforrástulajdonságában található gyermekerőforrást mutatja be.
resource <parent-resource-symbolic-name> '<resource-type>@<api-version>' = {
<parent-resource-properties>
resource <child-resource-symbolic-name> '<child-resource-type>' = {
<child-resource-properties>
}
}
A beágyazott erőforrás-deklarációnak a szülőerőforrás szintaxisának legfelső szintjén kell megjelennie. A deklarációk tetszőlegesen mélyen ágyazhatók be, amennyiben minden szint a szülőerőforrás gyermektípusa.
Ha a szülőerőforrás-típuson belül van definiálva, a típus- és névértékeket perjelek nélküli szegmensként formázza. Az alábbi példa egy gyermekerőforrással rendelkező tárfiókot mutat be a fájlszolgáltatáshoz, és a fájlszolgáltatás gyermekerőforrással rendelkezik a fájlmegosztáshoz. A fájlszolgáltatás neve default, típusa pedig fileServices. A fájlmegosztás neve be van állítva exampleshare , típusa pedig a következőre sharesvan állítva: .
resource storage 'Microsoft.Storage/storageAccounts@2024-01-01' = {
name: 'examplestorage'
location: resourceGroup().location
kind: 'StorageV2'
sku: {
name: 'Standard_LRS'
}
resource service 'fileServices' = {
name: 'default'
resource share 'shares' = {
name: 'exampleshare'
}
}
}
A teljes erőforrástípusok továbbra is Microsoft.Storage/storageAccounts/fileServicesMicrosoft.Storage/storageAccounts/fileServices/sharesés . Nem adja meg Microsoft.Storage/storageAccounts/ , mert a szülőerőforrás-típusból és -verzióból feltételezzük. A beágyazott erőforrás opcionálisan deklarálhat egy API-verziót a szintaxis <segment>@<version>használatával. Ha a beágyazott erőforrás kihagyja az API-verziót, a rendszer a szülőerőforrás API-verzióját használja. Ha a beágyazott erőforrás API-verziót ad meg, a rendszer a megadott API-verziót használja.
A gyermekerőforrás nevei be vannak állítva, default de exampleshare a teljes nevek tartalmazzák a szülőneveket. Nem adja meg examplestorage , vagy default mert a szülőerőforrásból feltételezi őket.
A beágyazott erőforrások hozzáférhetnek a szülőerőforrás tulajdonságaihoz. Az ugyanazon szülőerőforrás törzsében deklarált egyéb erőforrások a szimbolikus nevek használatával hivatkozhatnak egymásra. Előfordulhat, hogy a szülőerőforrás nem fér hozzá a benne található erőforrások tulajdonságaihoz, ez a kísérlet ciklikus függőséget okozna.
Ha a szülőerőforráson kívül szeretne beágyazott erőforrásra hivatkozni, az erőforrás nevét és az :: operátort tartalmazó minősítéssel kell rendelkeznie. Ha például egy tulajdonságot egy gyermekerőforrásból szeretne kihozni:
output childAddressPrefix string = VNet1::VNet1_Subnet1.properties.addressPrefix
Külső szülőerőforrás
Az alábbi példa a szülőerőforráson kívüli gyermekerőforrást mutatja be. Ezt a módszert akkor használhatja, ha a szülőerőforrás nincs ugyanabban a sablonban üzembe helyezve, vagy ha egy ciklus használatával több gyermekerőforrást szeretne létrehozni. Adja meg a gyermek szülőtulajdonságát a szülő szimbolikus nevére beállított értékkel. Ezzel a szintaxissal továbbra is deklarálnia kell a teljes erőforrástípust, de a gyermekerőforrás neve csak a gyermek neve.
resource <parent-resource-symbolic-name> '<resource-type>@<api-version>' = {
name: 'myParent'
<parent-resource-properties>
}
resource <child-resource-symbolic-name> '<child-resource-type>@<api-version>' = {
parent: <parent-resource-symbolic-name>
name: 'myChild'
<child-resource-properties>
}
Ha a szülőerőforráson kívül van definiálva, akkor a típust a szülőtípus és név megadásával, perjelekkel kell formázni.
Az alábbi példa egy olyan tárfiókot, fájlszolgáltatást és fájlmegosztást mutat be, amely mind a gyökérszinten van definiálva.
resource storage 'Microsoft.Storage/storageAccounts@2024-01-01' = {
name: 'examplestorage'
location: resourceGroup().location
kind: 'StorageV2'
sku: {
name: 'Standard_LRS'
}
}
resource service 'Microsoft.Storage/storageAccounts/fileServices@2024-01-01' = {
name: 'default'
parent: storage
}
resource share 'Microsoft.Storage/storageAccounts/fileServices/shares@2024-01-01' = {
name: 'exampleshare'
parent: service
}
A gyermekerőforrás szimbolikus nevére való hivatkozás ugyanúgy működik, mint a szülőre való hivatkozás.
Szülőn kívüli teljes erőforrásnév
A gyermekerőforrás szülőn kívüli deklarálásakor a teljes erőforrásnevet és típust is használhatja. Nem állítja be a szülőtulajdonságot a gyermekerőforráson. Mivel a függőség nem vonható le, explicit módon kell beállítania.
resource storage 'Microsoft.Storage/storageAccounts@2024-01-01' = {
name: 'examplestorage'
location: resourceGroup().location
kind: 'StorageV2'
sku: {
name: 'Standard_LRS'
}
}
resource service 'Microsoft.Storage/storageAccounts/fileServices@2024-01-01' = {
name: 'examplestorage/default'
dependsOn: [
storage
]
}
resource share 'Microsoft.Storage/storageAccounts/fileServices/shares@2024-01-01' = {
name: 'examplestorage/default/exampleshare'
dependsOn: [
service
]
}
Fontos
A teljes erőforrásnév és -típus megadása nem ajánlott módszer. Nem olyan biztonságos, mint a többi módszer egyikének használata. További információ: Linter-szabály: szülőtulajdonság használata.
Következő lépések
- A Bicep-fájlok létrehozásáról a Bicep-fájlok szerkezetének és szintaxisának ismertetése című témakörben olvashat.
- Az erőforrásra való hivatkozáskor az erőforrás nevének formátumáról a referenciafüggvényben tájékozódhat.