Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Important
Azure Blueprints (Preview) kommer att pensioneras den 31 januari 2027, med en stegvis pensionering från och med den 31 juli 2026. Migrera dina befintliga blueprint-definitioner och tilldelningar till Deployment Stacks (rekommenderas) och Template Specs. Blueprint-artefakter konverteras till ARM JSON-mallar eller Bicep-filer som används för att definiera distributionsstackar. För den fullständiga fasade tidslinjen, påverkan och FAQ, se Azure Blueprints pensionering eller https://aka.ms/AzureBlueprintsRetirement. Information om hur du skapar en artefakt som en ARM-resurs finns i:
Azure Blueprints tillhandahåller funktioner som gör en blueprint-definition mer dynamisk. Dessa funktioner används med ritningsdefinitioner och ritningsartefakter. En Azure Resource Manager Template (ARM-mall) artefakt stödjer full användning av Resource Manager-funktioner utöver att få ett dynamiskt värde via en blueprint-parameter.
Följande funktioner stöds:
artifacts
artifacts(artifactName)
Returnerar ett objekt med egenskaper fyllda med den ritningsartefakterna ger ut.
Anmärkning
Funktionen artifacts() kan inte användas inifrån en ARM-mall. Funktionen kan endast användas i blueprint definition JSON eller i artefakt-JSON när blueprinten hanteras med Azure PowerShell eller REST API som en del av Blueprints-as-code.
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| artifactName | Ja | string | Namnet på en ritningsartefakt. |
Returvärde
Ett objekt med utdataegenskaper. Utdatans egenskaper beror på vilken typ av ritningsartefakt som refereras. Alla typer följer formatet:
{
"outputs": {collectionOfOutputProperties}
}
Artefakt för policytilldelning
{
"outputs": {
"policyAssignmentId": "{resourceId-of-policy-assignment}",
"policyAssignmentName": "{name-of-policy-assignment}",
"policyDefinitionId": "{resourceId-of-policy-definition}",
}
}
ARM-mallartefakt
Utdataegenskaperna för det returnerade objektet definieras inom ARM-mallen och returneras av distributionen.
Rolltilldelningsartefakt
{
"outputs": {
"roleAssignmentId": "{resourceId-of-role-assignment}",
"roleDefinitionId": "{resourceId-of-role-definition}",
"principalId": "{principalId-role-is-being-assigned-to}",
}
}
Example
En ARM-mallartefakt med ID:t myTemplateArtifact som innehåller följande exempelutdata-egenskap:
{
"$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ågra exempel på att hämta data från myTemplateArtifact-provet är:
| Expression | Type | Value |
|---|---|---|
[artifacts("myTemplateArtifact").outputs.myArray] |
Array | ["första", "andra"] |
[artifacts("myTemplateArtifact").outputs.myArray[0]] |
String | "först" |
[artifacts("myTemplateArtifact").outputs.myString] |
String | "mitt strängvärde" |
[artifacts("myTemplateArtifact").outputs.myObject] |
Object | { "myproperty": "my value", "anotherProperty": true } |
[artifacts("myTemplateArtifact").outputs.myObject.myProperty] |
String | "mitt värde" |
[artifacts("myTemplateArtifact").outputs.myObject.anotherProperty] |
Bool | True |
concat
concat(string1, string2, string3, ...)
Kombinerar flera strängvärden och returnerar den sammanfogade strängen.
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| sträng1 | Ja | string | Det första värdet för sammanfogning. |
| ytterligare argument | No | string | Ytterligare värden i sekventiell ordning för sammanfogning |
Returvärde
En sträng av sammanfogade värden.
Remarks
Azure Blueprints-funktionen skiljer sig från ARM-mallfunktionen genom att den endast fungerar med strängar.
Example
concat(parameters('organizationName'), '-vm')
parameters
parameters(parameterName)
Returnerar ett blueprint-parametervärde. Det specificerade parameternamnet måste definieras i blueprint-definitionen eller i blueprint-artefakter.
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| parameternamn | Ja | string | Namnet på parametern som ska returneras. |
Returvärde
Värdet på den angivna blueprint- eller blueprint-artefaktparametern.
Remarks
Azure Blueprints-funktionen skiljer sig från ARM-mallfunktionen genom att den endast fungerar med blueprint-parametrar.
Example
Definiera parameterprincipalIds i blueprint-definitionen:
{
"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"
}
}
},
...
}
}
Använd sedan principalIds som argument för parameters() i en ritningsartefakt:
{
"type": "Microsoft.Blueprint/blueprints/artifacts",
"kind": "roleAssignment",
...
"properties": {
"roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
"principalIds": "[parameters('principalIds')]",
...
}
}
resourceGroup
resourceGroup()
Returnerar ett objekt som representerar den aktuella resursgruppen.
Returvärde
Det returnerade objektet har följande format:
{
"name": "{resourceGroupName}",
"location": "{resourceGroupLocation}",
}
Remarks
Azure Blueprints-funktionen skiljer sig från ARM-mallfunktionen. Funktionen resourceGroup() kan inte användas i en prenumerationsnivå-artefakt eller i blueprint-definitionen. Den kan endast användas i ritningartefakter som ingår i en resursgruppsartefakt.
En vanlig användning av resourceGroup() funktionen är att skapa resurser på samma plats som resursgruppens artefakt.
Example
För att använda resursgruppens plats, som antingen är inställd i ritningsdefinitionen eller under tilldelningen, som plats för en annan artefakt, deklarera ett resursgruppsplatshållarobjekt i din ritningsdefinition. I detta exempel är NetworkingPlaceholder namnet på resursgruppens platshållare.
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"resourceGroups": {
"NetworkingPlaceholder": {
"location": "eastus"
}
}
}
}
Använd sedan resourceGroup() funktionen i kontexten av en blueprint-artefakt som riktar sig mot ett resursgrupp-placeholderobjekt. I detta exempel distribueras mallartefakten till resursgruppen NetworkingPlaceholder och tillhandahåller parametern resourceLocation som dynamiskt fylls med NetworkingPlaceholder-resursgruppens plats till mallen.
Platsen för resursgruppen NetworkingPlaceholder kunde ha definierats statiskt på blueprint-definitionen eller dynamiskt definierats under tilldelningen. I båda fallen får mallartefakten informationen som en parameter och använder den för att distribuera resurserna till rätt plats.
{
"type": "Microsoft.Blueprint/blueprints/artifacts",
"kind": "template",
"properties": {
"template": {
...
},
"resourceGroup": "NetworkingPlaceholder",
...
"parameters": {
"resourceLocation": {
"value": "[resourceGroup().location]"
}
}
}
}
resourceGroups
resourceGroups(placeholderName)
Returnerar ett objekt som representerar den specificerade resursgruppens artefakt. Till skillnad från resourceGroup(), som kräver artefaktens kontext, används denna funktion för att hämta egenskaperna för en specifik resursgrupps platshållare när den inte är i kontexten av den resursgruppen.
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| platshållarnamn | Ja | string | Platshållarnamnet på resursgruppens artefakt som ska återvända. |
Returvärde
Det returnerade objektet har följande format:
{
"name": "{resourceGroupName}",
"location": "{resourceGroupLocation}",
}
Example
För att använda resursgruppens plats, som antingen är inställd i ritningsdefinitionen eller under tilldelningen, som plats för en annan artefakt, deklarera ett resursgruppsplatshållarobjekt i din ritningsdefinition. I detta exempel är NetworkingPlaceholder namnet på resursgruppens platshållare.
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"resourceGroups": {
"NetworkingPlaceholder": {
"location": "eastus"
}
}
}
}
Använd sedan resourceGroups() funktionen från kontexten för en ritningsartefakt för att få en referens till resursgruppens platshållarobjekt. I detta exempel distribueras mallartefakten utanför resursgruppen NetworkingPlaceholder och tillhandahåller parametern artifactLocation dynamiskt fylld med NetworkingPlaceholder-resursgruppens plats till mallen.
Platsen för resursgruppen NetworkingPlaceholder kunde ha definierats statiskt på blueprint-definitionen eller dynamiskt definierats under tilldelningen. I båda fallen får mallartefakten informationen som en parameter och använder den för att distribuera resurserna till rätt plats.
{
"kind": "template",
"properties": {
"template": {
...
},
...
"parameters": {
"artifactLocation": {
"value": "[resourceGroups('NetworkingPlaceholder').location]"
}
}
},
"type": "Microsoft.Blueprint/blueprints/artifacts",
"name": "myTemplate"
}
subscription
subscription()
Returnerar detaljer om prenumerationen för den aktuella blueprint-uppgiften.
Returvärde
Det returnerade objektet har följande format:
{
"id": "/subscriptions/{subscriptionId}",
"subscriptionId": "{subscriptionId}",
"tenantId": "{tenantId}",
"displayName": "{name-of-subscription}"
}
Example
Använd prenumerationens visningsnamn och concat() funktionen för att skapa en namngivningskonvention som skickas som parameter resourceName till mallartefakten.
{
"kind": "template",
"properties": {
"template": {
...
},
...
"parameters": {
"resourceName": {
"value": "[concat(subscription().displayName, '-vm')]"
}
}
},
"type": "Microsoft.Blueprint/blueprints/artifacts",
"name": "myTemplate"
}
Nästa steg
- Läs mer om skissens livscykel.
- Förstå hur du använder statiska och dynamiska parametrar.
- Lär dig hur du anpassar sekvenseringsordningen för skissen.
- Lär dig hur du använder låsning av skissresurser.
- Lär dig hur du uppdaterar befintliga tilldelningar.
- Lös problem som kan uppstå vid tilldelningen av en ritning med allmän felsökning.