Freigeben über


Bereichsfunktionen für ARM-Vorlagen

Azure Resource Manager bietet die folgenden Funktionen zum Abrufen von Bereitstellungsbereichswerten in Ihrer Azure Resource Manager-Vorlage (ARM-Vorlage):

Informationen zum Abrufen von Werten aus Parametern, Variablen oder der aktuellen Bereitstellung finden Sie unter Bereitstellungswertfunktionen.

Tipp

Bicep wird empfohlen, da sie dieselben Funktionen wie ARM-Vorlagen bietet und die Syntax einfacher zu verwenden ist. Weitere Informationen finden Sie unter scope Funktionen.

managementGroup

managementGroup()

Gibt ein Objekt mit Eigenschaften aus der Verwaltungsgruppe in der aktuellen Bereitstellung zurück.

Verwenden Sie in Bicep die managementGroup Bereichsfunktion.

Bemerkungen

managementGroup() kann nur für Bereitstellungen von Verwaltungsgruppen verwendet werden. Sie gibt die aktuelle Verwaltungsgruppe für den Bereitstellungsvorgang zurück. Verwenden Sie sie, um Eigenschaften für die aktuelle Verwaltungsgruppe abzurufen.

Rückgabewert

Ein Objekt mit den Eigenschaften für die aktuelle Verwaltungsgruppe.

Beispiel für Verwaltungsgruppen

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')]"
    }
  }
}

Zurückgegeben wird:

"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": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
    },
    "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": "2024-02-01-preview",
      "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 resourceGroup Bereichsfunktion.

Rückgabewert

Das zurückgegebene Objekt weist das folgende Format auf:

{
  "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}",
  "name": "{resourceGroupName}",
  "type":"Microsoft.Resources/resourceGroups",
  "location": "{resourceGroupLocation}",
  "managedBy": "{identifier-of-managing-resource}",
  "tags": {
  },
  "properties": {
    "provisioningState": "{status}"
  }
}

Die managedBy-Eigenschaft wird nur für Ressourcengruppen zurückgegeben, die Ressourcen enthalten, die von einem anderen Dienst verwaltet werden. Bei verwalteten Anwendungen, Databricks und AKS ist der Wert der Eigenschaft die Ressourcen-ID der verwalteten Ressource.

Bemerkungen

Die resourceGroup() Funktion kann nicht in einer Vorlage verwendet werden, die auf 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, die auf eine Ressourcengruppe ausgerichtet ist, auch wenn die übergeordnete Vorlage für das Abonnement bereitgestellt wird. In diesem Szenario wird die verknüpfte oder geschachtelte Vorlage auf Ressourcengruppenebene bereitgestellt. Weitere Informationen zum Ausrichten einer Ressourcengruppe in einer Bereitstellung auf Abonnementebene finden Sie unter Bereitstellen von Azure-Ressourcen in mehr als einem Abonnement oder einer Ressourcengruppe.

Eine häufige Verwendung der resourceGroup Funktion besteht darin, Ressourcen an demselben Speicherort wie die Ressourcengruppe zu erstellen. Im folgenden Beispiel wird der Ressourcengruppenspeicherort für einen Standardwert verwendet.

"parameters": {
  "location": {
    "type": "string",
    "defaultValue": "[resourceGroup().location]"
  }
}

Sie können die resourceGroup Funktion auch verwenden, um Tags aus der Ressourcengruppe auf eine Ressource anzuwenden. Weitere Informationen finden Sie unter Anwenden von Tags aus der Ressourcengruppe.

Wenn Sie geschachtelte Vorlagen zum Bereitstellen in mehreren Ressourcengruppen verwenden, können Sie den Bereich für die Auswertung der resourceGroup Funktion angeben. Weitere Informationen finden Sie unter Bereitstellen von Azure-Ressourcen für mehrere Abonnements oder Ressourcengruppen.

Beispiel für Eine Ressourcengruppe

Im folgenden Beispiel werden die Eigenschaften der Ressourcengruppe zurückgegeben:

{
  "$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 subscription Bereichsfunktion.

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 geschachtelte Vorlagen zum Bereitstellen in mehreren Abonnements verwenden, können Sie den Bereich für die Auswertung der subscription Funktion angeben. Weitere Informationen finden Sie unter Bereitstellen von Azure-Ressourcen für mehrere Abonnements oder Ressourcengruppen.

Beispiel für Abonnements

Das folgende Beispiel zeigt die subscription im Ausgabeabschnitt aufgerufene Funktion:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "subscriptionOutput": {
      "type": "object",
      "value": "[subscription()]"
    }
  }
}

Mieter

tenant()

Gibt den Mandanten des Benutzers zurück.

Verwenden Sie in Bicep die tenant Bereichsfunktion.

Bemerkungen

tenant() kann mit jedem Bereitstellungsbereich verwendet werden. Er gibt immer den aktuellen Mandanten zurück. Verwenden Sie diese Funktion, um Eigenschaften für den aktuellen Mandanten abzurufen.

Verwenden Sie beim Festlegen des Bereichs für eine verknüpfte Vorlage oder Erweiterungsressource die Syntax: "scope": "/".

Rückgabewert

Ein Objekt mit Eigenschaften zum aktuellen Mandanten.

Mandantbeispiel

Im folgenden Beispiel werden die Eigenschaften für einen Mandanten zurückgegeben:

{
  "$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')]"
    }
  }
}

Zurückgegeben wird:

"tenantResult": {
  "type": "Object",
  "value": {
    "countryCode": "US",
    "displayName": "Contoso",
    "id": "/tenants/00000000-0000-0000-0000-000000000000",
    "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
  }
}

Nächste Schritte