Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Important
Azure Blueprints (Preview) wird am 31. Januar 2027 eingestellt, mit einer gestaffelten Einstellung ab dem 31. Juli 2026. Migriere deine bestehenden Blueprint-Definitionen und Zuweisungen zu Deployment Stacks (empfohlen) und Template Specs. Blueprint-Artefakte werden in ARM-JSON-Vorlagen oder Bicep-Dateien umgewandelt, die zur Definition von Deployment-Stacks verwendet werden. Für den vollständigen phasenbasierten Zeitplan, Auswirkungen und FAQ siehe Azure Blueprints Ruhestand oder https://aka.ms/AzureBlueprintsRetirement. Informationen zum Erstellen eines Artefakts als ARM-Ressource finden Sie unter:
Azure Blueprints bietet Funktionen, die eine Blueprint-Definition dynamischer machen. Diese Funktionen sind für die Verwendung mit Blaupausendefinitionen und Bauplan-Artefakten. Ein Artefakt der Azure Resource Manager Template (ARM-Vorlage) unterstützt zusätzlich die volle Nutzung von Resource Manager-Funktionen sowie das Erhalten eines dynamischen Werts durch einen Blueprint-Parameter.
Die folgenden Funktionen werden unterstützt:
artifacts
artifacts(artifactName)
Gibt ein Objekt mit Eigenschaften zurück, die mit diesen Blueprint-Artefakten gefüllt sind.
Note
Die Funktion artifacts() kann nicht direkt in einer ARM-Vorlage verwendet werden. Die Funktion kann nur im Blueprint-Definitions-JSON oder im Artefakt-JSON verwendet werden, wenn der Blueprint mit Azure PowerShell oder der REST API als Teil von Blueprints-as-Code verwaltet wird.
Parameter
| Parameter | Required | Typ | Description |
|---|---|---|---|
| artifactName | Yes | string | Der Name eines Bauplan-Artefakts. |
Zurückgegebener Wert
Ein Objekt mit Ausgabeeigenschaften. Die Eigenschaften der Ausgaben hängen vom Typ des verwendeten Blaupauseartefakts ab. Alle Typen folgen dem Format:
{
"outputs": {collectionOfOutputProperties}
}
Artefakt der Richtlinienzuweisung
{
"outputs": {
"policyAssignmentId": "{resourceId-of-policy-assignment}",
"policyAssignmentName": "{name-of-policy-assignment}",
"policyDefinitionId": "{resourceId-of-policy-definition}",
}
}
ARTEFAKT der ARM-Vorlage
Die Ausgabeeigenschaften des zurückgegebenen Objekts werden innerhalb der ARM-Vorlage definiert und von der Bereitstellung zurückgegeben.
Artefakt zur Rollenzuweisung
{
"outputs": {
"roleAssignmentId": "{resourceId-of-role-assignment}",
"roleDefinitionId": "{resourceId-of-role-definition}",
"principalId": "{principalId-role-is-being-assigned-to}",
}
}
Example
Ein ARM-Template-Artefakt mit der ID myTemplateArtifact enthält folgende Beispielausgabe-Eigenschaft:
{
"$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
}
}
}
}
Einige Beispiele für das Abrufen von Daten aus der myTemplateArtifact-Probe sind:
| Ausdruck | Typ | Value |
|---|---|---|
[artifacts("myTemplateArtifact").outputs.myArray] |
Array | ["erst", "zweiter"] |
[artifacts("myTemplateArtifact").outputs.myArray[0]] |
String | "Erstens" |
[artifacts("myTemplateArtifact").outputs.myString] |
String | "Mein Saitenwert" |
[artifacts("myTemplateArtifact").outputs.myObject] |
Object | { "myproperty": "my value", "anotherProperty": true } |
[artifacts("myTemplateArtifact").outputs.myObject.myProperty] |
String | "Mein Wert" |
[artifacts("myTemplateArtifact").outputs.myObject.anotherProperty] |
Bool | True |
concat
concat(string1, string2, string3, ...)
Kombiniert mehrere Zeichenkettenwerte und gibt die verkettete Zeichenkette zurück.
Parameter
| Parameter | Required | Typ | Description |
|---|---|---|---|
| string1 | Yes | string | Der erste Wert für Verkettung. |
| zusätzliche Argumente | No | string | Zusätzliche Werte in fortlaufender Reihenfolge für die Verkettung |
Zurückgegebener Wert
Eine Kette von verketteten Werten.
Hinweise
Die Azure Blueprints-Funktion unterscheidet sich von der ARM-Template-Funktion dadurch, dass sie nur mit Strings funktioniert.
Example
concat(parameters('organizationName'), '-vm')
parameters
parameters(parameterName)
Gibt einen Blueprint-Parameter zurück. Der angegebene Parametername muss in der Blueprint-Definition oder in Blueprint-Artefakten definiert sein.
Parameter
| Parameter | Required | Typ | Description |
|---|---|---|---|
| parameterName | Yes | string | Der Name des zurückzugebenden Parameter. |
Zurückgegebener Wert
Der Wert des angegebenen Blueprint- oder Blueprint-Artefakt-Parameters.
Hinweise
Die Azure Blueprints-Funktion unterscheidet sich von der ARM-Vorlagenfunktion dadurch, dass sie nur mit Blueprint-Parametern funktioniert.
Example
Definieren Sie Parameter principalIds in der Blueprint-Definition:
{
"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"
}
}
},
...
}
}
Dann verwenden Sie principalIds als Argument für parameters() ein Bauplan-Artefakt:
{
"type": "Microsoft.Blueprint/blueprints/artifacts",
"kind": "roleAssignment",
...
"properties": {
"roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
"principalIds": "[parameters('principalIds')]",
...
}
}
Ressourcengruppe
resourceGroup()
Gibt ein Objekt zurück, das die aktuelle Ressourcengruppe repräsentiert.
Zurückgegebener Wert
Das zurückgegebene Objekt liegt im folgenden Format vor:
{
"name": "{resourceGroupName}",
"location": "{resourceGroupLocation}",
}
Hinweise
Die Azure Blueprints-Funktion unterscheidet sich von der ARM-Vorlagenfunktion. Die resourceGroup() Funktion kann nicht in einem Abonnement-Artefakt oder der Blueprint-Definition verwendet werden. Es kann nur in Bauplan-Artefakten verwendet werden, die Teil eines Ressourcengruppen-Artefakts sind.
Eine gängige Verwendung der resourceGroup() Funktion ist es, Ressourcen am selben Ort wie das Artefakt der Ressourcengruppe zu erstellen.
Example
Um den Standort der Ressourcengruppe, entweder in der Blueprint-Definition oder während der Zuweisung, als Standort für ein anderes Artefakt zu verwenden, deklarieren Sie in Ihrer Blueprint-Definition ein Ressourcengruppen-Platzhalterobjekt. In diesem Beispiel ist NetworkingPlaceholder der Name des Ressourcengruppen-Platzhalters.
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"resourceGroups": {
"NetworkingPlaceholder": {
"location": "eastus"
}
}
}
}
Dann verwenden Sie die resourceGroup() Funktion im Kontext eines Blueprint-Artefakts, das auf ein Ressourcengruppen-Platzhalterobjekt abzielt. In diesem Beispiel wird das Vorlagenartefakt in der NetworkingPlaceholder-Ressourcengruppe bereitgestellt und stellt dem Parameter resourceLocation dynamisch mit dem Standort der NetworkingPlaceholder-Ressourcengruppe zur Vorlage bereit. Der Standort der NetworkingPlaceholder-Ressourcengruppe könnte statisch auf der Blueprint-Definition definiert oder dynamisch während der Zuweisung definiert worden sein. In beiden Fällen erhält das Template-Artefakt diese Information als Parameter und nutzt sie, um die Ressourcen an den richtigen Ort zu bringen.
{
"type": "Microsoft.Blueprint/blueprints/artifacts",
"kind": "template",
"properties": {
"template": {
...
},
"resourceGroup": "NetworkingPlaceholder",
...
"parameters": {
"resourceLocation": {
"value": "[resourceGroup().location]"
}
}
}
}
resourceGroups
resourceGroups(placeholderName)
Gibt ein Objekt zurück, das das angegebene Ressourcengruppen-Artefakt darstellt. Im Gegensatz zu resourceGroup(), der den Kontext des Artefakts benötigt, wird diese Funktion verwendet, um die Eigenschaften einer bestimmten Ressourcengruppen-Platzhalterfunktion zu erhalten, wenn sie sich nicht im Kontext dieser Ressourcengruppe befindet.
Parameter
| Parameter | Required | Typ | Description |
|---|---|---|---|
| PlatzhalterName | Yes | string | Der Platzhaltername des Artefakts der Ressourcengruppe, das zurückkehrt. |
Zurückgegebener Wert
Das zurückgegebene Objekt liegt im folgenden Format vor:
{
"name": "{resourceGroupName}",
"location": "{resourceGroupLocation}",
}
Example
Um den Standort der Ressourcengruppe, entweder in der Blueprint-Definition oder während der Zuweisung, als Standort für ein anderes Artefakt zu verwenden, deklarieren Sie in Ihrer Blueprint-Definition ein Ressourcengruppen-Platzhalterobjekt. In diesem Beispiel ist NetworkingPlaceholder der Name des Ressourcengruppen-Platzhalters.
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"resourceGroups": {
"NetworkingPlaceholder": {
"location": "eastus"
}
}
}
}
Dann verwenden Sie die resourceGroups() Funktion aus dem Kontext eines beliebigen Blueprint-Artefakts, um eine Referenz auf das Ressourcengruppen-Platzhalterobjekt zu erhalten. In diesem Beispiel wird das Vorlagenartefakt außerhalb der NetworkingPlaceholder-Ressourcengruppe bereitgestellt und stellt dem Parameter artifactLocation, der dynamisch mit dem Standort der NetworkingPlaceholder-Ressourcengruppe ausgefüllt wird, zur Vorlage bereit. Der Standort der NetworkingPlaceholder-Ressourcengruppe könnte statisch auf der Blueprint-Definition definiert oder dynamisch während der Zuweisung definiert worden sein. In beiden Fällen erhält das Template-Artefakt diese Information als Parameter und nutzt sie, um die Ressourcen an den richtigen Ort zu bringen.
{
"kind": "template",
"properties": {
"template": {
...
},
...
"parameters": {
"artifactLocation": {
"value": "[resourceGroups('NetworkingPlaceholder').location]"
}
}
},
"type": "Microsoft.Blueprint/blueprints/artifacts",
"name": "myTemplate"
}
subscription
subscription()
Gibt Details zum Abonnement für die aktuelle Blueprint-Zuweisung zurück.
Zurückgegebener Wert
Das zurückgegebene Objekt liegt im folgenden Format vor:
{
"id": "/subscriptions/{subscriptionId}",
"subscriptionId": "{subscriptionId}",
"tenantId": "{tenantId}",
"displayName": "{name-of-subscription}"
}
Example
Verwenden Sie den Anzeigenamen des Abonnements und die Funktion, concat() um eine Namenskonvention zu erstellen, die als Parameter resourceName an das Vorlagenartefakt weitergegeben wird.
{
"kind": "template",
"properties": {
"template": {
...
},
...
"parameters": {
"resourceName": {
"value": "[concat(subscription().displayName, '-vm')]"
}
}
},
"type": "Microsoft.Blueprint/blueprints/artifacts",
"name": "myTemplate"
}
Nächste Schritte
- Erfahren Sie mehr über den Blueprint-Lebenszyklus.
- Verstehen, wie man statische und dynamische Parameter verwendet.
- Hier erfahren Sie, wie Sie die Reihenfolge der Blueprint-Sequenzierung anpassen.
- Erfahren Sie, wie Sie die Sperrung von Blueprintressourcen verwenden.
- Lernen Sie, wie Sie vorhandene Zuweisungen aktualisieren.
- Beheben Sie Probleme bei der Zuweisung eines Entwurfsplans mithilfe der allgemeinen Problembehandlung.