Üzembehelyezési függvények ARM-sablonokhoz
A Resource Manager az alábbi függvényeket biztosítja az Azure Resource Manager-sablon (ARM-sablon) aktuális üzembe helyezéséhez kapcsolódó értékek lekéréséhez:
Az erőforrások, erőforráscsoportok vagy előfizetések értékeinek lekéréséhez tekintse meg az Erőforrásfüggvényeket.
Tipp.
A Bicep használatát javasoljuk, mert ugyanazokkal a képességekkel rendelkezik, mint az ARM-sablonok, és a szintaxis használata egyszerűbb. További információkért tekintse meg az üzembehelyezési függvényeket.
üzembe helyezés
deployment()
Az aktuális üzembe helyezési művelettel kapcsolatos információkat adja vissza.
A Bicepben használja az üzembe helyezési függvényt.
Visszaadott érték
Ez a függvény az üzembe helyezés során átadott objektumot adja vissza. A visszaadott objektum tulajdonságai a következőktől függően különböznek:
- sablon vagy sablon specifikáció üzembe helyezése.
- egy helyi fájlból származó sablon üzembe helyezése vagy egy URI-val elért távoli fájlból származó sablon üzembe helyezése.
- üzembe helyezés egy erőforráscsoportban, vagy üzembe helyezés az egyik másik hatókörben (Azure-előfizetés, felügyeleti csoport vagy bérlő).
Helyi sablon erőforráscsoportban való üzembe helyezésekor a függvény a következő formátumot adja vissza:
{
"name": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Távoli sablon erőforráscsoportba való telepítésekor a függvény a következő formátumot adja vissza:
{
"name": "",
"properties": {
"templateLink": {
"uri": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Sablon specifikációjának erőforráscsoportban való üzembe helyezésekor a függvény a következő formátumot adja vissza:
{
"name": "",
"properties": {
"templateLink": {
"id": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Azure-előfizetésben, felügyeleti csoportban vagy bérlőben történő üzembe helyezéskor a visszatérési objektum tartalmaz egy tulajdonságot location
. A helytulajdonság helyi vagy külső sablon üzembe helyezésekor szerepel. A formátum a következő:
{
"name": "",
"location": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
LanguageVersion 2.0-sablon üzembe helyezésekor a függvény a deployment
tulajdonságok egy korlátozott részhalmazát adja vissza:
{
"name": "",
"location": "",
"properties": {
"template": {
"contentVersion": ""
},
"templateLink": {
"id": "",
"uri": ""
}
}
}
Megjegyzések
A szülősablon URI-ja alapján hivatkozhat deployment()
egy másik sablonra.
"variables": {
"sharedTemplateUrl": "[uri(deployment().properties.templateLink.uri, 'shared-resources.json')]"
}
Ha újra üzembe helyez egy sablont a portál üzembe helyezési előzményeiből, a sablon helyi fájlként lesz üzembe helyezve. A templateLink
tulajdonság nem lesz visszaadva az üzembe helyezési függvényben. Ha a sablon egy másik sablonra mutató hivatkozás létrehozására templateLink
támaszkodik, ne használja a portált az újbóli üzembe helyezéshez. Ehelyett használja a sablon eredeti üzembe helyezéséhez használt parancsokat.
Példa
Az alábbi példa egy üzembehelyezési objektumot ad vissza.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"deploymentOutput": {
"type": "object",
"value": "[deployment()]"
}
}
}
Az előző példa a következő objektumot adja vissza:
{
"name": "deployment",
"properties": {
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"deploymentOutput": {
"type": "Object",
"value": "[deployment()]"
}
}
},
"templateHash": "13135986259522608210",
"parameters": {},
"mode": "Incremental",
"provisioningState": "Accepted"
}
}
Előfizetések üzembe helyezése esetén az alábbi példa egy üzembehelyezési objektumot ad vissza.
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {
"exampleOutput": {
"type": "object",
"value": "[deployment()]"
}
}
}
környezet
environment()
Az üzembe helyezéshez használt Azure-környezettel kapcsolatos információkat adja vissza. A environment()
függvény nem ismeri az erőforrás-konfigurációkat. Csak egyetlen alapértelmezett DNS-utótagot tud visszaadni az egyes erőforrástípusokhoz.
A Bicepben használja a környezeti függvényt.
Megjegyzések
A fiókhoz tartozó regisztrált környezetek listájának megtekintéséhez használja az az cloud listát vagy a Get-AzEnvironmentet.
Visszaadott érték
Ez a függvény az aktuális Azure-környezet tulajdonságait adja vissza. Az alábbi példa a globális Azure tulajdonságait mutatja be. A szuverén felhők némileg eltérő tulajdonságokat adhatnak vissza.
{
"name": "",
"gallery": "",
"graph": "",
"portal": "",
"graphAudience": "",
"activeDirectoryDataLake": "",
"batch": "",
"media": "",
"sqlManagement": "",
"vmImageAliasDoc": "",
"resourceManager": "",
"authentication": {
"loginEndpoint": "",
"audiences": [
"",
""
],
"tenant": "",
"identityProvider": ""
},
"suffixes": {
"acrLoginServer": "",
"azureDatalakeAnalyticsCatalogAndJob": "",
"azureDatalakeStoreFileSystem": "",
"azureFrontDoorEndpointSuffix": "",
"keyvaultDns": "",
"sqlServerHostname": "",
"storage": ""
}
}
Példa
Az alábbi példasablon a környezeti objektumot adja vissza.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"environmentOutput": {
"type": "object",
"value": "[environment()]"
}
}
}
Az előző példa a következő objektumot adja vissza a globális Azure-ban való üzembe helyezéskor:
{
"name": "AzureCloud",
"gallery": "https://gallery.azure.com/",
"graph": "https://graph.windows.net/",
"portal": "https://portal.azure.com",
"graphAudience": "https://graph.windows.net/",
"activeDirectoryDataLake": "https://datalake.azure.net/",
"batch": "https://batch.core.windows.net/",
"media": "https://rest.media.azure.net",
"sqlManagement": "https://management.core.windows.net:8443/",
"vmImageAliasDoc": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json",
"resourceManager": "https://management.azure.com/",
"authentication": {
"loginEndpoint": "https://login.microsoftonline.com/",
"audiences": [
"https://management.core.windows.net/",
"https://management.azure.com/"
],
"tenant": "common",
"identityProvider": "AAD"
},
"suffixes": {
"acrLoginServer": ".azurecr.io",
"azureDatalakeAnalyticsCatalogAndJob": "azuredatalakeanalytics.net",
"azureDatalakeStoreFileSystem": "azuredatalakestore.net",
"azureFrontDoorEndpointSuffix": "azurefd.net",
"keyvaultDns": ".vault.azure.net",
"sqlServerHostname": ".database.windows.net",
"storage": "core.windows.net"
}
}
parameters
parameters(parameterName)
Paraméterértéket ad vissza. A megadott paraméternevet a sablon paraméterek szakaszában kell definiálni.
A Bicepben közvetlenül hivatkozzon a paraméterekre szimbolikus nevük használatával.
Paraméterek
Paraméter | Kötelező | Típus | Leírás |
---|---|---|---|
parameterName | Igen | húr | A visszaadni kívánt paraméter neve. |
Visszaadott érték
A megadott paraméter értéke.
Megjegyzések
Általában paraméterekkel állítja be az erőforrásértékeket. Az alábbi példa a webhely nevét az üzembe helyezés során átadott paraméterértékre állítja.
"parameters": {
"siteName": {
"type": "string"
}
}, "resources": [
{
"type": "Microsoft.Web/Sites",
"apiVersion": "2016-08-01",
"name": "[parameters('siteName')]",
...
}
]
Példa
Az alábbi példa a paraméterfüggvény egyszerűsített használatát mutatja be.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stringParameter": {
"type": "string",
"defaultValue": "option 1"
},
"intParameter": {
"type": "int",
"defaultValue": 1
},
"objectParameter": {
"type": "object",
"defaultValue": {
"one": "a",
"two": "b"
}
},
"arrayParameter": {
"type": "array",
"defaultValue": [ 1, 2, 3 ]
},
"crossParameter": {
"type": "string",
"defaultValue": "[parameters('stringParameter')]"
}
},
"variables": {},
"resources": [],
"outputs": {
"stringOutput": {
"type": "string",
"value": "[parameters('stringParameter')]"
},
"intOutput": {
"type": "int",
"value": "[parameters('intParameter')]"
},
"objectOutput": {
"type": "object",
"value": "[parameters('objectParameter')]"
},
"arrayOutput": {
"type": "array",
"value": "[parameters('arrayParameter')]"
},
"crossOutput": {
"type": "string",
"value": "[parameters('crossParameter')]"
}
}
}
Az előző példában szereplő kimenet az alapértelmezett értékekkel a következő:
Név | Típus | Érték |
---|---|---|
stringOutput | Sztring | 1. lehetőség |
intOutput | Int | 0 |
objectOutput | Objektum | {"one": "a", "two": "b"} |
arrayOutput | Tömb | [1, 2, 3] |
crossOutput | Sztring | 1. lehetőség |
További információ a paraméterek használatáról: Paraméterek ARM-sablonokban.
változók
variables(variableName)
A változó értékét adja vissza. A megadott változónevet a sablon változók szakaszában kell meghatározni.
A Bicepben közvetlenül hivatkozzon a változókra szimbolikus nevük használatával.
Paraméterek
Paraméter | Kötelező | Típus | Leírás |
---|---|---|---|
variableName | Igen | Sztring | A visszaadni kívánt változó neve. |
Visszaadott érték
A megadott változó értéke.
Megjegyzések
Általában változókkal egyszerűsítheti a sablont, ha összetett értékeket csak egyszer hoz létre. Az alábbi példa egy tárfiók egyedi nevét hozza létre.
"variables": {
"storageName": "[concat('storage', uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('storageName')]",
...
},
{
"type": "Microsoft.Compute/virtualMachines",
"dependsOn": [
"[variables('storageName')]"
],
...
}
],
Példa
Az alábbi példa különböző változóértékeket ad vissza.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {
"var1": "myVariable",
"var2": [ 1, 2, 3, 4 ],
"var3": "[ variables('var1') ]",
"var4": {
"property1": "value1",
"property2": "value2"
}
},
"resources": [],
"outputs": {
"exampleOutput1": {
"type": "string",
"value": "[variables('var1')]"
},
"exampleOutput2": {
"type": "array",
"value": "[variables('var2')]"
},
"exampleOutput3": {
"type": "string",
"value": "[variables('var3')]"
},
"exampleOutput4": {
"type": "object",
"value": "[variables('var4')]"
}
}
}
Az előző példában szereplő kimenet az alapértelmezett értékekkel a következő:
Név | Típus | Érték |
---|---|---|
exampleOutput1 | Sztring | myVariable |
exampleOutput2 | Tömb | [1, 2, 3, 4] |
exampleOutput3 | Sztring | myVariable |
exampleOutput4 | Objektum | {"property1": "value1", "property2": "value2"} |
A változók használatáról további információt az ARM-sablon változói című témakörben talál.
Következő lépések
- Az ARM-sablonok szakaszainak leírását az ARM-sablonok szerkezetének és szintaxisának ismertetése című témakörben találja.