Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Resource Manager menyediakan fungsi berikut untuk mendapatkan nilai yang terkait dengan penyebaran templat Azure Resource Manager Anda saat ini (templat ARM):
Untuk mendapatkan nilai dari sumber daya, grup sumber daya, atau langganan, lihat fungsi sumber daya.
Tip
Bicep direkomendasikan karena menawarkan kemampuan yang sama dengan templat ARM, dan sintaksnya lebih mudah digunakan. Untuk mempelajari selengkapnya, lihat deployment fungsi.
deployer
deployer()
Mengembalikan informasi tentang prinsip penyebaran saat ini.
Di Bicep, gunakan deployer fungsi .
Mengembalikan nilai
Fungsi ini mengembalikan informasi tentang prinsip penyebaran saat ini, termasuk ID penyewa, ID objek, dan nama prinsipal pengguna:
{
"objectId": "",
"tenantId": "",
"userPrincipalName": ""
}
Example
Contoh berikut mengembalikan objek penyebar:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"developerOutput": {
"type": "object",
"value": "[deployer()]"
}
}
}
Contoh sebelumnya menampilkan objek berikut:
{
"objectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"tenantId":"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"userPrincipalName":"john.doe@contoso.com"
}
penyebaran
deployment()
Menampilkan informasi tentang operasi penyebaran saat ini.
Di Bicep, gunakan deployment fungsi .
Mengembalikan nilai
Fungsi ini mengembalikan objek yang diteruskan selama penyebaran. Properti dalam objek yang dikembalikan berbeda berdasarkan jika Anda:
- Menyebarkan templat atau spesifikasi templat.
- Menyebarkan templat yang merupakan file lokal atau menyebarkan templat yang merupakan file jarak jauh yang diakses melalui URI.
- Menyebarkan ke grup sumber daya atau menyebarkan ke salah satu cakupan lainnya (langganan Azure, grup manajemen, atau penyewa).
Saat menyebarkan templat lokal ke grup sumber daya, fungsi mengembalikan format berikut:
{
"name": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Jika templat jarak jauh, templateLink properti disertakan dalam objek yang dikembalikan. Properti templateLink berisi URI templat. Formatnya adalah:
{
"name": "",
"properties": {
"templateLink": {
"uri": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Untuk informasi selengkapnya, lihat Menggunakan variabel untuk menautkan templat.
Saat menyebarkan spesifikasi templat ke grup sumber daya, fungsi mengembalikan format berikut:
{
"name": "",
"properties": {
"templateLink": {
"id": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Saat Anda menggunakan langganan Azure, grup manajemen, atau penyewa, objek yang ditampilkan menyertakan properti location. Properti lokasi disertakan saat menggunakan templat lokal atau templat eksternal. Formatnya adalah:
{
"name": "",
"location": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Saat menyebarkan templat languageVersion 2.0 , deployment fungsi mengembalikan subset properti terbatas:
{
"name": "",
"location": "",
"properties": {
"template": {
"contentVersion": "",
"metadata": {}
},
"templateLink": {
"id": "",
"uri": ""
}
}
}
Properti location hanya disertakan untuk penyebaran di cakupan langganan, grup manajemen, atau penyewa . Properti templateLink hanya disertakan ketika pengguna menyediakan templat tertaut daripada templat sebaris.
Remarks
Anda dapat menggunakan deployment() untuk menautkan ke templat lain berdasarkan URI templat induk:
"variables": {
"sharedTemplateUrl": "[uri(deployment().properties.templateLink.uri, 'shared-resources.json')]"
}
Jika Anda menyebarkan ulang templat dari riwayat penyebaran di portal, templat tersebut akan disebarkan sebagai file lokal. Properti templateLink tidak ditampilkan dalam fungsi penyebaran. Jika templat Anda bergantung pada templateLink untuk membuat tautan ke templat lain, jangan gunakan portal untuk menebusnya. Sebagai gantinya, gunakan perintah yang Anda gunakan untuk menyebarkan templat pada awalnya.
Example
Contoh berikut mengembalikan objek penyebaran:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"deploymentOutput": {
"type": "object",
"value": "[deployment()]"
}
}
}
Contoh sebelumnya menampilkan objek berikut:
{
"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"
}
}
Untuk penyebaran langganan, contoh berikut mengembalikan objek penyebaran:
{
"$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()
Menampilkan informasi tentang lingkungan Azure yang digunakan untuk penyebaran. Fungsi environment() ini tidak mengetahui konfigurasi sumber daya. Ini hanya dapat mengembalikan akhiran DNS default tunggal untuk setiap jenis sumber daya.
Di Bicep, gunakan environment fungsi .
Remarks
Untuk melihat daftar lingkungan terdaftar untuk akun Anda, gunakan az cloud list atau Get-AzEnvironment.
Mengembalikan nilai
Fungsi ini menampilkan properti untuk lingkungan Azure saat ini. Contoh berikut menunjukkan properti untuk Azure global; sovereign cloud mungkin mengembalikan properti yang sedikit berbeda:
{
"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
Contoh templat berikut mengembalikan objek lingkungan:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"environmentOutput": {
"type": "object",
"value": "[environment()]"
}
}
}
Contoh sebelumnya menampilkan objek berikut saat digunakan ke Azure global:
{
"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)
Menampilkan nilai parameter. Nama parameter yang ditentukan harus ditentukan di bagian parameter templat.
Di Bicep, secara langsung mereferensikan parameter dengan menggunakan nama simbolisnya.
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| parameterName | Yes | string | Nama parameter yang akan ditampilkan. |
Mengembalikan nilai
Nilai parameter yang ditentukan.
Remarks
Biasanya, Anda menggunakan parameter untuk mengatur nilai sumber daya. Contoh berikut menetapkan nama situs web ke nilai parameter yang diteruskan selama penyebaran.
"parameters": {
"siteName": {
"type": "string"
}
}, "resources": [
{
"type": "Microsoft.Web/Sites",
"apiVersion": "2025-03-01",
"name": "[parameters('siteName')]",
...
}
]
Example
Contoh berikut menunjukkan penggunaan fungsi yang disederhanakan parameters :
{
"$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')]"
}
}
}
Output nilai default dari contoh sebelumnya adalah:
| Name | Type | Value |
|---|---|---|
| stringOutput | String | opsi 1 |
| intOutput | Int | 1 |
| objectOutput | Object | {"one": "a", "two": "b"} |
| arrayOutput | Array | [1, 2, 3] |
| crossOutput | String | opsi 1 |
Untuk informasi selengkapnya tentang menggunakan parameter, lihat parameter dalam templat ARM.
variables
variables(variableName)
Mengembalikan nilai variabel. Nama variabel yang ditentukan harus ditentukan di bagian variabel templat.
Di Bicep, secara langsung mereferensikan variabel dengan menggunakan nama simbolisnya.
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| variableName | Yes | String | Nama variabel yang akan ditampilkan. |
Mengembalikan nilai
Nilai variabel yang ditentukan.
Remarks
Biasanya, Anda menggunakan variabel untuk menyederhanakan templat Anda dengan membuat nilai kompleks hanya sekali. Contoh berikut membuat nama unik untuk akun penyimpanan:
"variables": {
"storageName": "[concat('storage', uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('storageName')]",
...
},
{
"type": "Microsoft.Compute/virtualMachines",
"dependsOn": [
"[variables('storageName')]"
],
...
}
],
Example
Contoh berikut mengembalikan nilai variabel yang berbeda:
{
"$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')]"
}
}
}
Output nilai default dari contoh sebelumnya adalah:
| Name | Type | Value |
|---|---|---|
| exampleOutput1 | String | myVariable |
| exampleOutput2 | Array | [1, 2, 3, 4] |
| exampleOutput3 | String | myVariable |
| exampleOutput4 | Object | {"property1": "value1", "property2": "value2"} |
Untuk informasi selengkapnya tentang menggunakan variabel, lihat variabel dalam templat ARM.
Langkah selanjutnya
Untuk mempelajari selengkapnya tentang bagian dalam templat ARM, lihat struktur dan sintaks templat ARM.