Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Resource Manager tillhandahåller följande funktioner för att hämta värden som är relaterade till den aktuella distributionen av din Azure Resource Manager-mall (ARM-mall):
Information om hur du hämtar värden från resurser, resursgrupper eller prenumerationer finns i resursfunktioner.
Tip
              Bicep rekommenderas eftersom det erbjuder samma funktioner som ARM-mallar och syntaxen är enklare att använda. Mer information finns i deployment funktioner.
deployer
deployer()
Returnerar information om det aktuella distributionsobjektet.
Använd funktionen i deployer Bicep.
Returvärde
Den här funktionen returnerar information om det aktuella distributionsobjektet, inklusive klientorganisations-ID, objekt-ID och användarens huvudnamn:
{
  "objectId": "",
  "tenantId": "",
  "userPrincipalName": ""
}
Example
I följande exempel returneras distributionsobjektet:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "developerOutput": {
      "type": "object",
      "value": "[deployer()]"
    }
  }
}
Föregående exempel returnerar följande objekt:
{
  "objectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
  "tenantId":"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
  "userPrincipalName":"john.doe@contoso.com"
}
deployment
deployment()
Returnerar information om den aktuella distributionsåtgärden.
Använd funktionen i deployment Bicep.
Returvärde
Den här funktionen returnerar objektet som skickas under distributionen. Egenskaperna i det returnerade objektet skiljer sig åt beroende på om du:
- Distribuera en mall eller en mallspecifikation.
- Distribuera en mall som är en lokal fil eller distribuera en mall som är en fjärrfil som nås via en URI.
- Distribuera till en resursgrupp eller distribuera till något av de andra omfången (Azure-prenumeration, hanteringsgrupper eller klientorganisationer).
När du distribuerar en lokal mall till en resursgrupp returnerar funktionen följande format:
{
  "name": "",
  "properties": {
    "template": {
      "$schema": "",
      "contentVersion": "",
      "parameters": {},
      "variables": {},
      "resources": [],
      "outputs": {}
    },
    "templateHash": "",
    "parameters": {},
    "mode": "",
    "provisioningState": ""
  }
}
Om mallen är fjärransluten inkluderas egenskapen templateLink i det returnerade objektet. Egenskapen templateLink innehåller mallens URI. Formatet är:
{
  "name": "",
  "properties": {
    "templateLink": {
      "uri": ""
    },
    "template": {
      "$schema": "",
      "contentVersion": "",
      "parameters": {},
      "variables": {},
      "resources": [],
      "outputs": {}
    },
    "templateHash": "",
    "parameters": {},
    "mode": "",
    "provisioningState": ""
  }
}
Mer information finns i Använda variabler för att länka mallar.
När du distribuerar en mallspecifikation till en resursgrupp returnerar funktionen följande format:
{
  "name": "",
  "properties": {
    "templateLink": {
      "id": ""
    },
    "template": {
      "$schema": "",
      "contentVersion": "",
      "parameters": {},
      "variables": {},
      "resources": [],
      "outputs": {}
    },
    "templateHash": "",
    "parameters": {},
    "mode": "",
    "provisioningState": ""
  }
}
När du distribuerar till en Azure-prenumeration, hanteringsgrupp eller klientorganisation innehåller returobjektet en location egenskap. Platsegenskapen ingår när du distribuerar antingen en lokal mall eller en extern mall. Formatet är:
{
  "name": "",
  "location": "",
  "properties": {
    "template": {
      "$schema": "",
      "contentVersion": "",
      "resources": [],
      "outputs": {}
    },
    "templateHash": "",
    "parameters": {},
    "mode": "",
    "provisioningState": ""
  }
}
När du distribuerar en languageVersion 2.0-malldeployment returnerar funktionen en begränsad delmängd av egenskaper:
{
  "name": "",
  "location": "",
  "properties": {
    "template": {
      "contentVersion": ""
    },
    "templateLink": {
      "id": "",
      "uri": ""
    }
  }
}
Remarks
Du kan använda deployment() för att länka till en annan mall baserat på URI:n för den överordnade mallen:
"variables": {
  "sharedTemplateUrl": "[uri(deployment().properties.templateLink.uri, 'shared-resources.json')]"
}
Om du distribuerar om en mall från distributionshistoriken i portalen distribueras mallen som en lokal fil. Egenskapen templateLink returneras inte i distributionsfunktionen. Om mallen förlitar sig på templateLink att skapa en länk till en annan mall ska du inte använda portalen för att distribuera om. Använd i stället de kommandon som du använde för att ursprungligen distribuera mallen.
Example
I följande exempel returneras ett distributionsobjekt:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "deploymentOutput": {
      "type": "object",
      "value": "[deployment()]"
    }
  }
}
Föregående exempel returnerar följande objekt:
{
  "name": "deployment",
  "properties": {
    "template": {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "resources": [],
      "outputs": {
        "deploymentOutput": {
          "type": "Object",
          "value": "[deployment()]"
        }
      }
    },
    "templateHash": "13135986259522608210",
    "parameters": {},
    "mode": "Incremental",
    "provisioningState": "Accepted"
  }
}
För en prenumerationsdistribution returnerar följande exempel ett distributionsobjekt:
{
  "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {},
  "variables": {},
  "resources": [],
  "outputs": {
    "exampleOutput": {
      "type": "object",
      "value": "[deployment()]"
    }
  }
}
environment
environment()
Returnerar information om Azure-miljön som används för distribution. Funktionen environment() är inte medveten om resurskonfigurationer. Den kan bara returnera ett enda standard-DNS-suffix för varje resurstyp.
Använd funktionen i environment Bicep.
Remarks
Om du vill se en lista över registrerade miljöer för ditt konto använder du az cloud list eller Get-AzEnvironment.
Returvärde
Den här funktionen returnerar egenskaper för den aktuella Azure-miljön. I följande exempel visas egenskaperna för globala Azure. nationella moln kan returnera något olika egenskaper:
{
  "name": "",
  "gallery": "",
  "graph": "",
  "portal": "",
  "graphAudience": "",
  "activeDirectoryDataLake": "",
  "batch": "",
  "media": "",
  "sqlManagement": "",
  "vmImageAliasDoc": "",
  "resourceManager": "",
  "authentication": {
    "loginEndpoint": "",
    "audiences": [
      "",
      ""
    ],
    "tenant": "",
    "identityProvider": ""
  },
  "suffixes": {
    "acrLoginServer": "",
    "azureDatalakeAnalyticsCatalogAndJob": "",
    "azureDatalakeStoreFileSystem": "",
    "azureFrontDoorEndpointSuffix": "",
    "keyvaultDns": "",
    "sqlServerHostname": "",
    "storage": ""
  }
}
Example
Följande exempelmall returnerar miljöobjektet:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "environmentOutput": {
      "type": "object",
      "value": "[environment()]"
    }
  }
}
Föregående exempel returnerar följande objekt när det distribueras till global Azure:
{
  "name": "AzureCloud",
  "gallery": "https://gallery.azure.com/",
  "graph": "https://graph.windows.net/",
  "portal": "https://portal.azure.com",
  "graphAudience": "https://graph.windows.net/",
  "activeDirectoryDataLake": "https://datalake.azure.net/",
  "batch": "https://batch.core.windows.net/",
  "media": "https://rest.media.azure.net",
  "sqlManagement": "https://management.core.windows.net:8443/",
  "vmImageAliasDoc": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json",
  "resourceManager": "https://management.azure.com/",
  "authentication": {
    "loginEndpoint": "https://login.microsoftonline.com/",
    "audiences": [
      "https://management.core.windows.net/",
      "https://management.azure.com/"
    ],
    "tenant": "common",
    "identityProvider": "AAD"
  },
  "suffixes": {
    "acrLoginServer": ".azurecr.io",
    "azureDatalakeAnalyticsCatalogAndJob": "azuredatalakeanalytics.net",
    "azureDatalakeStoreFileSystem": "azuredatalakestore.net",
    "azureFrontDoorEndpointSuffix": "azurefd.net",
    "keyvaultDns": ".vault.azure.net",
    "sqlServerHostname": ".database.windows.net",
    "storage": "core.windows.net"
  }
}
parameters
parameters(parameterName)
Returnerar ett parametervärde. Det angivna parameternamnet måste definieras i parameteravsnittet i mallen.
I Bicep refererar du direkt till parametrar med hjälp av deras symboliska namn.
Parameters
| Parameter | Required | Type | Description | 
|---|---|---|---|
| parameterName | Yes | string | Namnet på parametern som ska returneras. | 
Returvärde
Värdet för den angivna parametern.
Remarks
Vanligtvis använder du parametrar för att ange resursvärden. I följande exempel anges namnet på webbplatsen till parametervärdet som skickades under distributionen.
"parameters": {
  "siteName": {
    "type": "string"
  }
}, "resources": [
  {
    "type": "Microsoft.Web/Sites",
    "apiVersion": "2016-08-01",
    "name": "[parameters('siteName')]",
    ...
  }
]
Example
I följande exempel visas en förenklad användning av parameters funktionen:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringParameter": {
      "type": "string",
      "defaultValue": "option 1"
    },
    "intParameter": {
      "type": "int",
      "defaultValue": 1
    },
    "objectParameter": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b"
      }
    },
    "arrayParameter": {
      "type": "array",
      "defaultValue": [ 1, 2, 3 ]
    },
    "crossParameter": {
      "type": "string",
      "defaultValue": "[parameters('stringParameter')]"
    }
  },
  "variables": {},
  "resources": [],
  "outputs": {
    "stringOutput": {
      "type": "string",
      "value": "[parameters('stringParameter')]"
    },
    "intOutput": {
      "type": "int",
      "value": "[parameters('intParameter')]"
    },
    "objectOutput": {
      "type": "object",
      "value": "[parameters('objectParameter')]"
    },
    "arrayOutput": {
      "type": "array",
      "value": "[parameters('arrayParameter')]"
    },
    "crossOutput": {
      "type": "string",
      "value": "[parameters('crossParameter')]"
    }
  }
}
Utdata från standardvärdena från föregående exempel är:
| Name | Type | Value | 
|---|---|---|
| stringOutput | String | alternativ 1 | 
| intOutput | Int | 1 | 
| objectOutput | Object | {"one": "a", "two": "b"} | 
| arrayOutput | Array | [1, 2, 3] | 
| crossOutput | String | alternativ 1 | 
Mer information om hur du använder parametrar finns i parametrar i ARM-mallar.
variables
variables(variableName)
Returnerar värdet för en variabel. Det angivna variabelnamnet måste definieras i avsnittet variabler i mallen.
I Bicep refererar du direkt till variabler med hjälp av deras symboliska namn.
Parameters
| Parameter | Required | Type | Description | 
|---|---|---|---|
| variableName | Yes | String | Namnet på variabeln som ska returneras. | 
Returvärde
Värdet för den angivna variabeln.
Remarks
Vanligtvis använder du variabler för att förenkla mallen genom att bara konstruera komplexa värden en gång. I följande exempel skapas ett unikt namn för ett lagringskonto:
"variables": {
  "storageName": "[concat('storage', uniqueString(resourceGroup().id))]"
},
"resources": [
  {
    "type": "Microsoft.Storage/storageAccounts",
    "name": "[variables('storageName')]",
    ...
  },
  {
    "type": "Microsoft.Compute/virtualMachines",
    "dependsOn": [
      "[variables('storageName')]"
    ],
    ...
  }
],
Example
I följande exempel returneras olika variabelvärden:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {},
  "variables": {
    "var1": "myVariable",
    "var2": [ 1, 2, 3, 4 ],
    "var3": "[ variables('var1') ]",
    "var4": {
      "property1": "value1",
      "property2": "value2"
    }
  },
  "resources": [],
  "outputs": {
    "exampleOutput1": {
      "type": "string",
      "value": "[variables('var1')]"
    },
    "exampleOutput2": {
      "type": "array",
      "value": "[variables('var2')]"
    },
    "exampleOutput3": {
      "type": "string",
      "value": "[variables('var3')]"
    },
    "exampleOutput4": {
      "type": "object",
      "value": "[variables('var4')]"
    }
  }
}
Utdata från standardvärdena från föregående exempel är:
| Name | Type | Value | 
|---|---|---|
| exampleOutput1 | String | myVariable | 
| exampleOutput2 | Array | [1, 2, 3, 4] | 
| exampleOutput3 | String | myVariable | 
| exampleOutput4 | Object | {"property1": "value1", "property2": "value2"} | 
Mer information om hur du använder variabler finns i variabler i ARM-mallen.
Nästa steg
Mer information om avsnitten i en ARM-mall finns i strukturen och syntaxen för ARM-mallar.