Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure Resource Manager udostępnia następujące funkcje umożliwiające uzyskiwanie wartości związanych z bieżącym wdrożeniem szablonu usługi Azure Resource Manager (szablon arm):
Aby uzyskać wartości z zasobów, grup zasobów lub subskrypcji, zobacz Funkcje zasobów.
Tip
Bicep jest zalecany, ponieważ oferuje te same możliwości co szablony ARM, a jego składnia jest łatwiejsza do użycia. Aby dowiedzieć się więcej, zobacz deployment funkcje.
deployer
deployer()
Zwraca informacje dotyczące bieżącego podmiotu zabezpieczeń wdrożenia.
W Bicep użyj deployer funkcji .
Wartość zwracana
Ta funkcja zwraca informacje o bieżącej jednostce wdrożenia, w tym identyfikatorze dzierżawy, identyfikatorze obiektu i głównej nazwie użytkownika:
{
"objectId": "",
"tenantId": "",
"userPrincipalName": ""
}
Example
Poniższy przykład zwraca obiekt modułu wdrażania:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"developerOutput": {
"type": "object",
"value": "[deployer()]"
}
}
}
Powyższy przykład zwraca następujący obiekt:
{
"objectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"tenantId":"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"userPrincipalName":"john.doe@contoso.com"
}
wdrażanie
deployment()
Zwraca informacje o bieżącej operacji wdrażania.
W Bicep użyj deployment funkcji .
Wartość zwracana
Ta funkcja zwraca obiekt przekazany podczas wdrażania. Właściwości zwróconego obiektu różnią się w zależności od tego, czy:
- Wdrażanie szablonu lub specyfikacji szablonu.
- Wdrażanie szablonu, który jest plikiem lokalnym lub wdrażaniem szablonu, który jest plikiem zdalnym dostępnym za pośrednictwem identyfikatora URI.
- Wdrażanie w grupie zasobów lub wdrażanie w jednym z innych zakresów (subskrypcja platformy Azure, grupy zarządzania lub dzierżawy).
Podczas wdrażania szablonu lokalnego w grupie zasobów funkcja zwraca następujący format:
{
"name": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Jeśli szablon jest zdalny, templateLink właściwość jest uwzględniona w zwracanym obiekcie. Właściwość templateLink zawiera identyfikator URI szablonu. Format to:
{
"name": "",
"properties": {
"templateLink": {
"uri": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Aby uzyskać więcej informacji, zobacz Używanie zmiennych do łączenia szablonów.
Podczas wdrażania specyfikacji szablonu w grupie zasobów funkcja zwraca następujący format:
{
"name": "",
"properties": {
"templateLink": {
"id": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Podczas wdrażania w subskrypcji platformy Azure, grupie zarządzania lub dzierżawie obiekt zwracany location zawiera właściwość. Właściwość lokalizacji jest uwzględniana podczas wdrażania szablonu lokalnego lub szablonu zewnętrznego. Format to:
{
"name": "",
"location": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Podczas wdrażania szablonu deployment funkcja zwraca ograniczony podzestaw właściwości:
{
"name": "",
"location": "",
"properties": {
"template": {
"contentVersion": "",
"metadata": {}
},
"templateLink": {
"id": "",
"uri": ""
}
}
}
Właściwość location jest uwzględniana tylko w przypadku wdrożeń w zakresie subskrypcji, grupy zarządzania lub dzierżawy . Właściwość templateLink jest dołączana tylko wtedy, gdy użytkownik udostępnia połączony szablon, a nie wbudowany szablon.
Remarks
Możesz użyć deployment() polecenia , aby połączyć się z innym szablonem na podstawie identyfikatora URI szablonu nadrzędnego:
"variables": {
"sharedTemplateUrl": "[uri(deployment().properties.templateLink.uri, 'shared-resources.json')]"
}
Jeśli ponownie wdrożysz szablon z historii wdrażania w portalu, szablon zostanie wdrożony jako plik lokalny. Właściwość templateLink nie jest zwracana w funkcji wdrażania. Jeśli szablon opiera się na templateLink konstruowaniu linku do innego szablonu, nie używaj portalu do ponownego wdrażania. Zamiast tego użyj poleceń użytych do pierwotnie wdrożenia szablonu.
Example
Poniższy przykład zwraca obiekt wdrożenia:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"deploymentOutput": {
"type": "object",
"value": "[deployment()]"
}
}
}
Powyższy przykład zwraca następujący obiekt:
{
"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"
}
}
W przypadku wdrożenia subskrypcji poniższy przykład zwraca obiekt wdrożenia:
{
"$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()]"
}
}
}
środowisko
environment()
Zwraca informacje o środowisku platformy Azure używanym do wdrożenia. Funkcja environment() nie zna konfiguracji zasobów. Może zwracać tylko jeden domyślny sufiks DNS dla każdego typu zasobu.
W Bicep użyj environment funkcji .
Remarks
Aby wyświetlić listę zarejestrowanych środowisk dla twojego konta, użyj polecenia az cloud list lub Get-AzEnvironment.
Wartość zwracana
Ta funkcja zwraca właściwości dla bieżącego środowiska platformy Azure. W poniższym przykładzie przedstawiono właściwości globalnej platformy Azure. Suwerenne chmury mogą zwracać nieco inne właściwości:
{
"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
Poniższy przykładowy szablon zwraca obiekt środowiska:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"environmentOutput": {
"type": "object",
"value": "[environment()]"
}
}
}
Powyższy przykład zwraca następujący obiekt podczas wdrażania na globalnej platformie 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)
Zwraca wartość parametru. Określona nazwa parametru musi być zdefiniowana w sekcji parameters szablonu.
W Bicep bezpośrednio odwołują się do parametrów przy użyciu ich nazw symbolicznych.
Parameters
| Parameter | Required | Typ | Description |
|---|---|---|---|
| parameterName | Yes | ciąg | Nazwa parametru do zwrócenia. |
Wartość zwracana
Wartość określonego parametru.
Remarks
Zazwyczaj parametry służą do ustawiania wartości zasobów. W poniższym przykładzie nazwa witryny internetowej jest ustawiana na wartość parametru przekazaną podczas wdrażania.
"parameters": {
"siteName": {
"type": "string"
}
}, "resources": [
{
"type": "Microsoft.Web/Sites",
"apiVersion": "2025-03-01",
"name": "[parameters('siteName')]",
...
}
]
Example
W poniższym przykładzie pokazano uproszczone użycie parameters funkcji:
{
"$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')]"
}
}
}
Dane wyjściowe wartości domyślnych z poprzedniego przykładu to:
| Name | Typ | Value |
|---|---|---|
| stringOutput | String | opcja 1 |
| intOutput | Int | 1 |
| objectOutput | Object | {"one": "a", "two": "b"} |
| arrayOutput | Array | [1, 2, 3] |
| crossOutput | String | opcja 1 |
Aby uzyskać więcej informacji na temat używania parametrów, zobacz parametry w szablonach usługi ARM.
variables
variables(variableName)
Zwraca wartość zmiennej. Określona nazwa zmiennej musi być zdefiniowana w sekcji zmiennych szablonu.
W Bicep bezpośrednio odwołują się do zmiennych przy użyciu ich nazw symbolicznych.
Parameters
| Parameter | Required | Typ | Description |
|---|---|---|---|
| variableName | Yes | String | Nazwa zmiennej do zwrócenia. |
Wartość zwracana
Wartość określonej zmiennej.
Remarks
Zazwyczaj używasz zmiennych, aby uprościć szablon, tworząc złożone wartości tylko raz. Poniższy przykład tworzy unikatową nazwę konta magazynu:
"variables": {
"storageName": "[concat('storage', uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('storageName')]",
...
},
{
"type": "Microsoft.Compute/virtualMachines",
"dependsOn": [
"[variables('storageName')]"
],
...
}
],
Example
Poniższy przykład zwraca różne wartości zmiennych:
{
"$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')]"
}
}
}
Dane wyjściowe wartości domyślnych z poprzedniego przykładu to:
| Name | Typ | Value |
|---|---|---|
| exampleOutput1 | String | myVariable |
| exampleOutput2 | Array | [1, 2, 3, 4] |
| exampleOutput3 | String | myVariable |
| exampleOutput4 | Object | {"property1": "value1", "property2": "value2"} |
Aby uzyskać więcej informacji na temat używania zmiennych, zobacz zmienne w szablonie usługi ARM.
Dalsze kroki
Aby dowiedzieć się więcej na temat sekcji w szablonie usługi ARM, zobacz strukturę i składnię szablonów usługi ARM.