Bereichsfunktionen für ARM-Vorlagen
Resource Manager stellt die folgenden Funktionen zum Abrufen von Bereitstellungswerten in Ihrer Azure Resource Manager-Vorlage (ARM-Vorlage) bereit:
Informationen zum Abrufen von Werten aus Parametern, Variablen oder der aktuellen Bereitstellung finden Sie unter Funktionen für Bereitstellungswerte.
Tipp
Wir empfehlen Bicep, weil es dieselben Funktionen wie ARM-Vorlagen bietet und die Syntax einfacher zu verwenden ist. Weitere Informationen finden Sie unter Bereichsfunktionen (scope).
managementGroup
managementGroup()
Gibt ein Objekt mit Eigenschaften aus der Verwaltungsgruppe in der aktuellen Bereitstellung zurück.
Verwenden Sie in Bicep die Bereichsfunktion managementGroup.
Hinweise
managementGroup()
kann nur für Bereitstellungen von Verwaltungsgruppen verwendet werden. Gibt die aktuelle Verwaltungsgruppe für den Bereitstellungsvorgang zurück Verwenden Sie diese Funktion, um Eigenschaften für die aktuelle Verwaltungsgruppe zu erhalten.
Rückgabewert
Ein Objekt mit den Eigenschaften für die aktuelle Verwaltungsgruppe.
Beispiel für Verwaltungsgruppe
Im folgenden Beispiel werden Eigenschaften für die aktuelle Verwaltungsgruppe zurückgegeben.
{
"$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')]"
}
}
}
Rückgabe:
"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"
}
}
Im nächsten Beispiel wird eine neue Verwaltungsgruppe erstellt und diese Funktion verwendet, um die übergeordnete Verwaltungsgruppe festzulegen.
{
"$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()
Gibt ein Objekt zurück, das die aktuelle Ressourcengruppe darstellt.
Verwenden Sie in Bicep die Bereichsfunktion resourceGroup.
Rückgabewert
Das zurückgegebene Objekt hat das folgende Format:
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}",
"name": "{resourceGroupName}",
"type":"Microsoft.Resources/resourceGroups",
"location": "{resourceGroupLocation}",
"managedBy": "{identifier-of-managing-resource}",
"tags": {
},
"properties": {
"provisioningState": "{status}"
}
}
Die Eigenschaft managedBy wird nur für Ressourcengruppen zurückgegeben, die von einem anderen Dienst verwaltete Ressourcen enthalten. Bei verwalteten Anwendungen, Databricks und AKS ist der Wert der Eigenschaft die Ressourcen-ID der Verwaltungsressource.
Bemerkungen
Die Funktion resourceGroup()
kann nicht in einer Vorlage verwendet werden, die auf der Abonnementebene bereitgestellt wird. Sie kann nur in Vorlagen verwendet werden, die in einer Ressourcengruppe bereitgestellt werden. Sie können die resourceGroup()
-Funktion in einer verknüpften oder geschachtelten Vorlage (mit innerem Bereich) verwenden, deren Ziel eine Ressourcengruppe ist, auch wenn die übergeordnete Vorlage im Abonnement bereitgestellt wurde. In diesem Szenario wird die verknüpfte oder geschachtelte Vorlage auf Ressourcengruppenebene bereitgestellt. Weitere Informationen zum Einrichten einer Ressourcengruppe als Ziel in einer Bereitstellung auf Ressourcenebene finden Sie unter Bereitstellen von Azure-Ressourcen für mehrere Abonnements oder Ressourcengruppen.
Die Funktion „resourceGroup“ wird häufig verwendet, um Ressourcen am gleichen Speicherort wie die Ressourcengruppe zu erstellen. Das folgende Beispiel nutzt den Speicherort der Ressourcengruppe als einen Parameterstandardwert.
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
}
Die Funktion resourceGroup
kann auch verwendet werden, um Tags aus einer Ressourcengruppe auf eine Ressource anzuwenden. Weitere Informationen finden Sie unter Apply tags from resource group (Anwenden von Tags aus einer Ressourcengruppe).
Wenn Sie für die Bereitstellung in mehreren Ressourcengruppen geschachtelte Vorlagen verwenden, können Sie den Bereich zum Auswerten der resourceGroup
-Funktion angeben. Weitere Informationen finden Sie unter Bereitstellen von Azure-Ressourcen für mehrere Abonnements oder Ressourcengruppen.
resourceGroup-Beispiel
Das folgende Beispiel gibt die Eigenschaften der Ressourcengruppe zurück.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"resourceGroupOutput": {
"type": "object",
"value": "[resourceGroup()]"
}
}
}
Im vorherigen Beispiel wird ein Objekt im folgenden Format zurückgegeben:
{
"id": "/subscriptions/{subscription-id}/resourceGroups/examplegroup",
"name": "examplegroup",
"type":"Microsoft.Resources/resourceGroups",
"location": "southcentralus",
"properties": {
"provisioningState": "Succeeded"
}
}
Abonnement
subscription()
Gibt Details zum Abonnement für die aktuelle Bereitstellung zurück.
Verwenden Sie in Bicep die Bereichsfunktion subscription.
Rückgabewert
Die Funktion gibt das folgende Format zurück:
{
"id": "/subscriptions/{subscription-id}",
"subscriptionId": "{subscription-id}",
"tenantId": "{tenant-id}",
"displayName": "{name-of-subscription}"
}
Bemerkungen
Wenn Sie für die Bereitstellung in mehreren Abonnements geschachtelte Vorlagen verwenden, können Sie den Bereich zum Auswerten der subscription-Funktion angeben. Weitere Informationen finden Sie unter Bereitstellen von Azure-Ressourcen für mehrere Abonnements oder Ressourcengruppen.
subscription-Beispiel
Das folgende Beispiel zeigt ein Abrufen der subscription-Funktion im Abschnitt „outputs“.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"subscriptionOutput": {
"type": "object",
"value": "[subscription()]"
}
}
}
tenant
tenant()
Gibt den Mandanten des Benutzers zurück.
Verwenden Sie in Bicep die Bereichsfunktion tenant.
Hinweise
tenant()
kann für beliebige Bereitstellungsbereiche verwendet werden. Sie gibt immer den aktuellen Mandanten zurück. Verwenden Sie diese Funktion, um Eigenschaften für den aktuellen Mandanten zu erhalten.
Verwenden Sie beim Festlegen des Bereichs für eine verknüpfte Vorlage oder Erweiterungsressource die folgende Syntax: "scope": "/"
.
Rückgabewert
Ein Objekt mit Eigenschaften für den aktuellen Mandanten.
Mandantenbeispiel
Das folgende Beispiel gibt die Eigenschaften für einen Mandanten zurück.
{
"$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')]"
}
}
}
Rückgabe:
"tenantResult": {
"type": "Object",
"value": {
"countryCode": "US",
"displayName": "Contoso",
"id": "/tenants/00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
}
}
Nächste Schritte
- Eine Beschreibung der Abschnitte in einer ARM-Vorlage finden Sie unter Grundlegendes zur Struktur und Syntax von ARM-Vorlagen.
- Weitere Informationen zum Mergen mehrerer Vorlagen finden Sie unter Verwenden von verknüpften und geschachtelten Vorlagen bei der Bereitstellung von Azure-Ressourcen.
- Wenn Sie beim Erstellen eines Ressourcentyps eine angegebene Anzahl von Wiederholungen durchlaufen möchten, finden Sie weitere Informationen unter Ressourceniteration in ARM-Vorlagen.
- Informationen zum Bereitstellen der von Ihnen erstellten Vorlage finden Sie unter Bereitstellen von Ressourcen mit ARM-Vorlagen und Azure PowerShell.