Az Azure Blueprintshez használható függvények
Fontos
2026. július 11-én a tervek (előzetes verzió) elavultak lesznek. Migrálja a meglévő tervdefiníciókat és -hozzárendeléseket sablonspecifikációkba és üzembehelyezési vermekbe. A tervösszetevőket ARM JSON-sablonokká vagy Bicep-fájlokká kell konvertálni az üzembehelyezési veremek definiálásához. Az összetevők ARM-erőforrásként való létrehozásának módjáról az alábbiakban olvashat:
Az Azure Blueprints olyan függvényeket biztosít, amely dinamikusabbá teszi a tervdefiníciókat. Ezek a függvények tervdefiníciókhoz és tervösszetevőkhöz használhatók. Az Azure Resource Manager Template (ARM-sablon) összetevő támogatja a Resource Manager függvények teljes körű használatát amellett, hogy dinamikus értéket kap egy tervparaméteren keresztül.
A következő függvények támogatottak:
Leletek
artifacts(artifactName)
A tervösszetevők kimeneteivel kitöltött tulajdonságok objektumát adja vissza.
Megjegyzés
A artifacts()
függvény nem használható ARM-sablonból. A függvény csak a tervdefiníció JSON-ban vagy az összetevő JSON-ban használható, amikor a tervet Azure PowerShell vagy REST API-val kezeli a Blueprints-as-code részeként.
Paraméterek
Paraméter | Kötelező | Típus | Description |
---|---|---|---|
artifactName | Yes | sztring | Tervösszetevő neve. |
Visszatérési érték
Kimeneti tulajdonságokat tartalmazó objektum. A kimenetek tulajdonságai a hivatkozott tervösszetevő típusától függenek. Minden típus a következő formátumot követi:
{
"outputs": {collectionOfOutputProperties}
}
Szabályzat-hozzárendelési összetevő
{
"outputs": {
"policyAssignmentId": "{resourceId-of-policy-assignment}",
"policyAssignmentName": "{name-of-policy-assignment}",
"policyDefinitionId": "{resourceId-of-policy-definition}",
}
}
ARM-sablonösszetevő
A visszaadott objektum kimeneti tulajdonságai az ARM-sablonban vannak definiálva, és az üzembe helyezés adja vissza.
Szerepkör-hozzárendelési összetevő
{
"outputs": {
"roleAssignmentId": "{resourceId-of-role-assignment}",
"roleDefinitionId": "{resourceId-of-role-definition}",
"principalId": "{principalId-role-is-being-assigned-to}",
}
}
Példa
A myTemplateArtifact azonosítójú ARM-sablonösszetevő, amely a következő kimeneti mintatulajdonságot tartalmazza:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
...
"outputs": {
"myArray": {
"type": "array",
"value": ["first", "second"]
},
"myString": {
"type": "string",
"value": "my string value"
},
"myObject": {
"type": "object",
"value": {
"myProperty": "my value",
"anotherProperty": true
}
}
}
}
Néhány példa a myTemplateArtifact-minta adatainak beolvasására:
Expression | Típus | Érték |
---|---|---|
[artifacts("myTemplateArtifact").outputs.myArray] |
Tömb | ["first", "second"] |
[artifacts("myTemplateArtifact").outputs.myArray[0]] |
Sztring | "első" |
[artifacts("myTemplateArtifact").outputs.myString] |
Sztring | "saját sztringérték" |
[artifacts("myTemplateArtifact").outputs.myObject] |
Objektum | { "myproperty": "my value", "anotherProperty": true } |
[artifacts("myTemplateArtifact").outputs.myObject.myProperty] |
Sztring | "saját érték" |
[artifacts("myTemplateArtifact").outputs.myObject.anotherProperty] |
Logikai | Igaz |
Concat
concat(string1, string2, string3, ...)
Több sztringértéket egyesít, és visszaadja az összefűzött sztringet.
Paraméterek
Paraméter | Kötelező | Típus | Description |
---|---|---|---|
sztring1 | Yes | sztring | Az összefűzés első értéke. |
további argumentumok | No | sztring | További értékek szekvenciális sorrendben az összefűzéshez |
Visszatérési érték
Összefűzött értékek sztringje.
Megjegyzések
Az Azure Blueprints függvény abban különbözik az ARM-sablonfüggvénytől, hogy csak sztringekkel működik.
Példa
concat(parameters('organizationName'), '-vm')
parameters
parameters(parameterName)
Tervparaméter-értéket ad vissza. A megadott paraméternevet a tervdefinícióban vagy a tervösszetevőkben kell definiálni.
Paraméterek
Paraméter | Kötelező | Típus | Description |
---|---|---|---|
parameterName | Yes | sztring | A visszaadandó paraméter neve. |
Visszatérési érték
A megadott terv- vagy tervösszetevő-paraméter értéke.
Megjegyzések
Az Azure Blueprints függvény abban különbözik az ARM-sablonfüggvénytől, hogy csak tervparaméterekkel működik.
Példa
Paraméternévazonosítók definiálása a tervdefinícióban:
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"parameters": {
"principalIds": {
"type": "array",
"metadata": {
"displayName": "Principal IDs",
"description": "This is a blueprint parameter that any artifact can reference. We'll display these descriptions for you in the info bubble. Supply principal IDs for the users,groups, or service principals for the Azure role assignment.",
"strongType": "PrincipalId"
}
}
},
...
}
}
Ezután használja a principalIds argumentumot parameters()
a tervösszetevőben:
{
"type": "Microsoft.Blueprint/blueprints/artifacts",
"kind": "roleAssignment",
...
"properties": {
"roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
"principalIds": "[parameters('principalIds')]",
...
}
}
resourceGroup
resourceGroup()
Az aktuális erőforráscsoportot képviselő objektumot ad vissza.
Visszatérési érték
A visszaadott objektum formátuma a következő:
{
"name": "{resourceGroupName}",
"location": "{resourceGroupLocation}",
}
Megjegyzések
Az Azure Blueprints függvény eltér az ARM-sablonfüggvénytől. A resourceGroup()
függvény nem használható előfizetési szintű összetevőben vagy tervdefinícióban. Csak olyan tervösszetevőkben használható, amelyek egy erőforráscsoport-összetevő részei.
A függvény gyakran használja az resourceGroup()
erőforrásokat az erőforráscsoport-összetevővel azonos helyen.
Példa
Az erőforráscsoport helyének használatához állítsa be a tervdefinícióban vagy a hozzárendelés során egy másik összetevő helyeként, deklaráljon egy erőforráscsoport helyőrző objektumot a tervdefinícióban. Ebben a példában a NetworkingPlaceholder az erőforráscsoport helyőrzőjének neve.
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"resourceGroups": {
"NetworkingPlaceholder": {
"location": "eastus"
}
}
}
}
Ezután használja a resourceGroup()
függvényt egy olyan tervösszetevő kontextusában, amely egy erőforráscsoport helyőrző objektumát célozza. Ebben a példában a sablonösszetevő a NetworkingPlaceholder erőforráscsoportban lesz üzembe helyezve, és dinamikusan kitölti a resourceLocation paramétert a NetworkingPlaceholder erőforráscsoport helyével a sablonhoz. A NetworkingPlaceholder erőforráscsoport helyét statikusan definiálhatták a tervdefinícióban, vagy dinamikusan definiálhatták a hozzárendelés során. A sablonösszetevő mindkét esetben paraméterként van megadva, és az erőforrások megfelelő helyen való üzembe helyezéséhez használja.
{
"type": "Microsoft.Blueprint/blueprints/artifacts",
"kind": "template",
"properties": {
"template": {
...
},
"resourceGroup": "NetworkingPlaceholder",
...
"parameters": {
"resourceLocation": {
"value": "[resourceGroup().location]"
}
}
}
}
resourceGroups
resourceGroups(placeholderName)
A megadott erőforráscsoport-összetevőt képviselő objektumot ad vissza. Az összetevő kontextusát igénylő függvénnyel ellentétben resourceGroup()
ez a függvény egy adott erőforráscsoport helyőrzőjének tulajdonságainak lekérésére szolgál, ha nem az adott erőforráscsoport környezetében.
Paraméterek
Paraméter | Kötelező | Típus | Description |
---|---|---|---|
placeholderName | Yes | sztring | A visszaadni kívánt erőforráscsoport-összetevő helyőrző neve. |
Visszatérési érték
A visszaadott objektum formátuma a következő:
{
"name": "{resourceGroupName}",
"location": "{resourceGroupLocation}",
}
Példa
Az erőforráscsoport helyének használatához állítsa be a tervdefinícióban vagy a hozzárendelés során egy másik összetevő helyeként, deklaráljon egy erőforráscsoport helyőrző objektumot a tervdefinícióban. Ebben a példában a NetworkingPlaceholder az erőforráscsoport helyőrzőjének neve.
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"resourceGroups": {
"NetworkingPlaceholder": {
"location": "eastus"
}
}
}
}
Ezután használja a resourceGroups()
függvényt bármely tervösszetevő környezetéből az erőforráscsoport helyőrző objektumára mutató hivatkozás lekéréséhez. Ebben a példában a sablonösszetevő a NetworkingPlaceholder erőforráscsoporton kívül lesz üzembe helyezve, és dinamikusan kitölti a NetworkingPlaceholder erőforráscsoport helyével a sablonhoz tartozó ArtifactLocation paramétert. A NetworkingPlaceholder erőforráscsoport helyét statikusan definiálhatták a tervdefinícióban, vagy dinamikusan definiálhatták a hozzárendelés során. A sablonösszetevő mindkét esetben paraméterként van megadva, és az erőforrások megfelelő helyen való üzembe helyezéséhez használja.
{
"kind": "template",
"properties": {
"template": {
...
},
...
"parameters": {
"artifactLocation": {
"value": "[resourceGroups('NetworkingPlaceholder').location]"
}
}
},
"type": "Microsoft.Blueprint/blueprints/artifacts",
"name": "myTemplate"
}
előfizetést
subscription()
Az aktuális tervhozzárendeléshez tartozó előfizetés adatait adja vissza.
Visszatérési érték
A visszaadott objektum formátuma a következő:
{
"id": "/subscriptions/{subscriptionId}",
"subscriptionId": "{subscriptionId}",
"tenantId": "{tenantId}",
"displayName": "{name-of-subscription}"
}
Példa
Használja az előfizetés megjelenítendő nevét és a concat()
függvényt egy resourceName paraméterként átadott elnevezési konvenció létrehozásához a sablonösszetevőnek.
{
"kind": "template",
"properties": {
"template": {
...
},
...
"parameters": {
"resourceName": {
"value": "[concat(subscription().displayName, '-vm')]"
}
}
},
"type": "Microsoft.Blueprint/blueprints/artifacts",
"name": "myTemplate"
}
További lépések
- Tudnivalók a tervek életciklusáról.
- A statikus és dinamikus paraméterek használatának elsajátítása.
- A tervekkel kapcsolatos műveleti sorrend testreszabásának elsajátítása.
- A tervek erőforrás-zárolásának alkalmazásával kapcsolatos részletek.
- A meglévő hozzárendelések frissítésének elsajátítása.
- A tervek hozzárendelése során felmerülő problémák megoldása általános hibaelhárítással.