Teilen über


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