Dela via


Omfångsfunktioner för ARM-mallar

Azure Resource Manager innehåller följande funktioner för att hämta omfångsvärden för distribution i din Azure Resource Manager-mall (ARM-mall):

Information om hur du hämtar värden från parametrar, variabler eller den aktuella distributionen finns i funktioner för distributionsvärde.

Tips/Råd

Bicep rekommenderas eftersom det erbjuder samma funktioner som ARM-mallar och syntaxen är enklare att använda. Mer information finns i scope funktioner.

managementGroup

managementGroup()

Returnerar ett objekt med egenskaper från hanteringsgruppen i den aktuella distributionen.

I Bicep använder du omfångsfunktionen managementGroup .

Anmärkningar

managementGroup() kan endast användas för distributioner av hanteringsgrupper. Den returnerar den aktuella hanteringsgruppen för distributionsåtgärden. Använd den för att hämta egenskaper för den aktuella hanteringsgruppen.

Returvärde

Ett objekt med egenskaperna för den aktuella hanteringsgruppen.

Exempel på hanteringsgrupp

I följande exempel returneras egenskaper för den aktuella hanteringsgruppen:

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

Då returneras:

"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"
  }
}

I nästa exempel skapas en ny hanteringsgrupp och den här funktionen används för att ange den överordnade hanteringsgruppen:

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

resursgrupp

resourceGroup()

Returnerar ett objekt som representerar den aktuella resursgruppen.

I Bicep använder du omfångsfunktionen resourceGroup .

Returvärde

Det returnerade objektet har följande format:

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

Egenskapen managedBy returneras endast för resursgrupper som innehåller resurser som hanteras av en annan tjänst. För hanterade program, Databricks och AKS är värdet för egenskapen resurs-ID för hanteringsresursen.

Anmärkningar

Funktionen resourceGroup() kan inte användas i en mall som distribueras på prenumerationsnivå. Den kan bara användas i mallar som distribueras till en resursgrupp. Du kan använda resourceGroup() funktionen i en länkad eller kapslad mall (med inre omfång) som riktar sig till en resursgrupp, även när den överordnade mallen distribueras till prenumerationen. I det scenariot distribueras den länkade eller kapslade mallen på resursgruppsnivå. Mer information om hur du riktar in dig på en resursgrupp i en distribution på prenumerationsnivå finns i Distribuera Azure-resurser till mer än en prenumeration eller resursgrupp.

En vanlig användning av resourceGroup funktionen är att skapa resurser på samma plats som resursgruppen. I följande exempel används resursgruppens plats för ett standardparametervärde.

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

Du kan också använda resourceGroup funktionen för att tillämpa taggar från resursgruppen på en resurs. Mer information finns i Tillämpa taggar från resursgrupp.

När du använder kapslade mallar för att distribuera till flera resursgrupper kan du ange omfånget för att resourceGroup utvärdera funktionen. Mer information finns i Distribuera Azure-resurser till mer än en prenumeration eller resursgrupp.

Exempel på resursgrupp

I följande exempel returneras egenskaperna för resursgruppen:

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

Föregående exempel returnerar ett objekt i följande format:

{
  "id": "/subscriptions/{subscription-id}/resourceGroups/examplegroup",
  "name": "examplegroup",
  "type":"Microsoft.Resources/resourceGroups",
  "location": "southcentralus",
  "properties": {
    "provisioningState": "Succeeded"
  }
}

prenumeration

subscription()

Returnerar information om prenumerationen för den aktuella distributionen.

I Bicep använder du omfångsfunktionen subscription .

Returvärde

Funktionen returnerar följande format:

{
  "id": "/subscriptions/{subscription-id}",
  "subscriptionId": "{subscription-id}",
  "tenantId": "{tenant-id}",
  "displayName": "{name-of-subscription}"
}

Anmärkningar

När du använder kapslade mallar för att distribuera till flera prenumerationer kan du ange omfånget för att subscription utvärdera funktionen. Mer information finns i Distribuera Azure-resurser till mer än en prenumeration eller resursgrupp.

Prenumerationsexempel

I följande exempel visas funktionen subscription som anropas i avsnittet utdata :

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

hyresgäst

tenant()

Returnerar användarens klientorganisation.

I Bicep använder du omfångsfunktionen tenant .

Anmärkningar

tenant() kan användas med valfritt distributionsomfång. Den returnerar alltid den aktuella klientorganisationen. Använd den här funktionen för att hämta egenskaper för den aktuella klientorganisationen.

När du anger omfånget för en länkad mall eller tilläggsresurs använder du syntaxen: "scope": "/".

Returvärde

Ett objekt med egenskaper om den aktuella klientorganisationen.

Exempel på klientorganisation

I följande exempel returneras egenskaperna för en klientorganisation:

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

Då returneras:

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

Nästa steg