Hatókörfüggvények ARM-sablonokhoz
Resource Manager a következő függvényeket biztosítja az üzembehelyezési hatókör értékeinek lekéréséhez az Azure Resource Manager-sablonban (ARM-sablon):
A paraméterekből, változókból vagy az aktuális üzembe helyezésből származó értékek lekéréséhez lásd: Üzembehelyezési értékfüggvények.
Tipp
Azért javasoljuk a Bicep használatát, mert ugyanazokkal a képességekkel rendelkezik, mint az ARM-sablonok, és a szintaxis használata egyszerűbb. További információ: hatókörfüggvények .
managementGroup
managementGroup()
Egy objektumot ad vissza az aktuális üzemelő példány felügyeleti csoportjának tulajdonságaival.
A Bicepben használja a managementGroup hatókörfüggvényt.
Megjegyzések
managementGroup()
csak felügyeleti csoport üzemelő példányaihoz használható. Az üzembe helyezési művelet aktuális felügyeleti csoportját adja vissza. A használatával lekérheti az aktuális felügyeleti csoport tulajdonságait.
Visszatérési érték
Az aktuális felügyeleti csoport tulajdonságaival rendelkező objektum.
Példa felügyeleti csoportra
Az alábbi példa az aktuális felügyeleti csoport tulajdonságait adja vissza.
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"mgInfo": "[managementGroup()]"
},
"resources": [],
"outputs": {
"mgResult": {
"type": "object",
"value": "[variables('mgInfo')]"
}
}
}
A visszaadott kimenet:
"mgResult": {
"type": "Object",
"value": {
"id": "/providers/Microsoft.Management/managementGroups/examplemg1",
"name": "examplemg1",
"properties": {
"details": {
"parent": {
"displayName": "Tenant Root Group",
"id": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000"
},
"updatedBy": "00000000-0000-0000-0000-000000000000",
"updatedTime": "2020-07-23T21:05:52.661306Z",
"version": "1"
},
"displayName": "Example MG 1",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"type": "/providers/Microsoft.Management/managementGroups"
}
}
A következő példa létrehoz egy új felügyeleti csoportot, és ezzel a függvénnyel állítja be a szülő felügyeleti csoportot.
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"mgName": {
"type": "string",
"defaultValue": "[format('mg-{0}', uniqueString(newGuid()))]"
}
},
"resources": [
{
"type": "Microsoft.Management/managementGroups",
"apiVersion": "2020-05-01",
"scope": "/",
"name": "[parameters('mgName')]",
"properties": {
"details": {
"parent": {
"id": "[managementGroup().id]"
}
}
}
}
],
"outputs": {
"newManagementGroup": {
"type": "string",
"value": "[parameters('mgName')]"
}
}
}
resourceGroup
resourceGroup()
Az aktuális erőforráscsoportot képviselő objektumot ad vissza.
A Bicepben használja a resourceGroup hatókörfüggvényt.
Visszatérési érték
A visszaadott objektum formátuma a következő:
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}",
"name": "{resourceGroupName}",
"type":"Microsoft.Resources/resourceGroups",
"location": "{resourceGroupLocation}",
"managedBy": "{identifier-of-managing-resource}",
"tags": {
},
"properties": {
"provisioningState": "{status}"
}
}
A managedBy tulajdonság csak olyan erőforráscsoportok esetén lesz visszaadva, amelyek egy másik szolgáltatás által felügyelt erőforrásokat tartalmaznak. Felügyelt alkalmazások, Databricks és AKS esetén a tulajdonság értéke a kezelési erőforrás erőforrás-azonosítója.
Megjegyzések
A resourceGroup()
függvény nem használható előfizetési szinten üzembe helyezett sablonban. Csak olyan sablonokban használható, amelyek egy erőforráscsoportban vannak üzembe helyezve. A függvényt egy csatolt vagy beágyazott (belső hatókörrel rendelkező) sablonban is használhatjaresourceGroup()
, amely egy erőforráscsoportot céloz meg, még akkor is, ha a szülősablont üzembe helyezi az előfizetésben. Ebben a forgatókönyvben a csatolt vagy beágyazott sablon az erőforráscsoport szintjén lesz üzembe helyezve. Az erőforráscsoportok előfizetési szintű üzembe helyezésben való megcélzásával kapcsolatos további információkért lásd: Azure-erőforrások üzembe helyezése több előfizetésben vagy erőforráscsoportban.
A resourceGroup függvény gyakori használata, hogy az erőforrásokat az erőforráscsoporttal azonos helyen hozza létre. Az alábbi példa az erőforráscsoport helyét használja egy alapértelmezett paraméterértékhez.
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
}
A függvénnyel címkéket is resourceGroup
alkalmazhat az erőforráscsoportból egy erőforrásra. További információ: Címkék alkalmazása erőforráscsoportból.
Ha beágyazott sablonokat használ több erőforráscsoportban való üzembe helyezéshez, megadhatja a függvény kiértékelési hatókörét resourceGroup
. További információ: Azure-erőforrások üzembe helyezése több előfizetésben vagy erőforráscsoportban.
Példa erőforráscsoportra
Az alábbi példa az erőforráscsoport tulajdonságait adja vissza.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"resourceGroupOutput": {
"type": "object",
"value": "[resourceGroup()]"
}
}
}
Az előző példa egy objektumot ad vissza a következő formátumban:
{
"id": "/subscriptions/{subscription-id}/resourceGroups/examplegroup",
"name": "examplegroup",
"type":"Microsoft.Resources/resourceGroups",
"location": "southcentralus",
"properties": {
"provisioningState": "Succeeded"
}
}
előfizetést
subscription()
Az aktuális üzemelő példány előfizetésének adatait adja vissza.
A Bicepben használja az előfizetés hatókörfüggvényét.
Visszatérési érték
A függvény a következő formátumot adja vissza:
{
"id": "/subscriptions/{subscription-id}",
"subscriptionId": "{subscription-id}",
"tenantId": "{tenant-id}",
"displayName": "{name-of-subscription}"
}
Megjegyzések
Ha beágyazott sablonokat használ több előfizetésben való üzembe helyezéshez, megadhatja az előfizetési függvény kiértékelési hatókörét. További információ: Azure-erőforrások üzembe helyezése több előfizetésben vagy erőforráscsoportban.
Előfizetési példa
Az alábbi példa a kimenetek szakaszban szereplő előfizetési függvényt mutatja be.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"subscriptionOutput": {
"type": "object",
"value": "[subscription()]"
}
}
}
Bérlő
tenant()
A felhasználó bérlőjének visszaadása.
A Bicepben használja a bérlő hatókörfüggvényét.
Megjegyzések
tenant()
bármilyen üzembe helyezési hatókörrel használható. Mindig az aktuális bérlőt adja vissza. Ezzel a függvénnyel lekérheti az aktuális bérlő tulajdonságait.
Csatolt sablon vagy bővítmény erőforrás hatókörének beállításakor használja a következő szintaxist: "scope": "/"
.
Visszatérési érték
Az aktuális bérlőre vonatkozó tulajdonságokkal rendelkező objektum.
Példa bérlőre
Az alábbi példa egy bérlő tulajdonságait adja vissza.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"tenantInfo": "[tenant()]"
},
"resources": [],
"outputs": {
"tenantResult": {
"type": "object",
"value": "[variables('tenantInfo')]"
}
}
}
A visszaadott kimenet:
"tenantResult": {
"type": "Object",
"value": {
"countryCode": "US",
"displayName": "Contoso",
"id": "/tenants/00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
}
}
Következő lépések
- Az ARM-sablonok szakaszainak leírásáért lásd : Az ARM-sablonok struktúrájának és szintaxisának ismertetése.
- Több sablon egyesítéséhez lásd: Csatolt és beágyazott sablonok használata Azure-erőforrások üzembe helyezésekor.
- Ha egy adott számú alkalommal szeretne iterálni egy erőforrástípus létrehozásakor, olvassa el az Erőforrás-iteráció ARM-sablonokban című témakört.
- A létrehozott sablon üzembe helyezéséről az Erőforrások üzembe helyezése ARM-sablonokkal és Azure PowerShell című témakörben olvashat.