Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Resource Manager, Azure Resource Manager şablonunuzun (ARM şablonu) geçerli dağıtımıyla ilgili değerleri almak için aşağıdaki işlevleri sağlar:
Kaynaklardan, kaynak gruplarından veya aboneliklerden değer almak için bkz. kaynak işlevleri.
Tip
ARM şablonlarıyla aynı özellikleri sunduğundan ve söz diziminin kullanımı daha kolay olduğundan Bicep önerilir. Daha fazla bilgi edinmek için bkz deployment . işlevler.
deployer
deployer()
Geçerli dağıtım sorumlusu hakkındaki bilgileri döndürür.
Bicep'te işlevini kullanın deployer .
Dönüş değeri
Bu işlev kiracı kimliği, nesne kimliği ve kullanıcı asıl adı dahil olmak üzere geçerli dağıtım sorumlusu hakkındaki bilgileri döndürür:
{
"objectId": "",
"tenantId": "",
"userPrincipalName": ""
}
Example
Aşağıdaki örnek, deployer nesnesini döndürür:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"developerOutput": {
"type": "object",
"value": "[deployer()]"
}
}
}
Yukarıdaki örnek aşağıdaki nesneyi döndürür:
{
"objectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"tenantId":"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"userPrincipalName":"john.doe@contoso.com"
}
deployment
deployment()
Geçerli dağıtım işlemi hakkındaki bilgileri döndürür.
Bicep'te işlevini kullanın deployment .
Dönüş değeri
Bu işlev, dağıtım sırasında geçirilen nesneyi döndürür. Döndürülen nesnedeki özellikler şunlara göre farklılık gösterir:
- Şablon veya şablon belirtimi dağıtma.
- Yerel dosya olan bir şablonu dağıtma veya URI aracılığıyla erişilen uzak dosya olan bir şablonu dağıtma.
- Bir kaynak grubuna dağıtma veya diğer kapsamlardan birine dağıtma (Azure aboneliği, yönetim grupları veya kiracılar).
Bir kaynak grubuna yerel şablon dağıtırken işlev aşağıdaki biçimi döndürür:
{
"name": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Şablon uzaksa, templateLink özelliği döndürülen nesneye eklenir.
templateLink özelliği, şablonun URI'sini içerir. Biçim:
{
"name": "",
"properties": {
"templateLink": {
"uri": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Daha fazla bilgi için bkz. Şablonları bağlamak için değişkenleri kullanma.
Bir kaynak grubuna şablon belirtimi dağıtırken işlev aşağıdaki biçimi döndürür:
{
"name": "",
"properties": {
"templateLink": {
"id": ""
},
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Bir Azure aboneliğine, yönetim grubuna veya kiracıya dağıttığınızda, dönüş nesnesi bir location özellik içerir. Yerel şablon veya dış şablon dağıtılırken location özelliği eklenir. Biçim:
{
"name": "",
"location": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
languageVersion 2.0 şablonunu dağıtırken işlev sınırlı deployment bir özellik alt kümesi döndürür:
{
"name": "",
"location": "",
"properties": {
"template": {
"contentVersion": "",
"metadata": {}
},
"templateLink": {
"id": "",
"uri": ""
}
}
}
location özelliği yalnızca abonelik, yönetim grubu veya kiracı kapsamındaki dağıtımlar için dahil edilir.
templateLink özelliği yalnızca kullanıcı satır içi şablon yerine bağlı bir şablon sağladığında eklenir.
Remarks
Üst şablonun URI'sini temel alarak başka bir şablona bağlanmak için kullanabilirsiniz deployment() :
"variables": {
"sharedTemplateUrl": "[uri(deployment().properties.templateLink.uri, 'shared-resources.json')]"
}
Portaldaki dağıtım geçmişinden bir şablonu yeniden dağıtırsanız, şablon yerel dosya olarak dağıtılır.
templateLink özelliği dağıtım işlevinde döndürülmüyor. Şablonunuz başka bir şablona templateLink bağlantı oluşturmak için kullanıyorsa yeniden dağıtmak için portalı kullanmayın. Bunun yerine, şablonu başlangıçta dağıtmak için kullandığınız komutları kullanın.
Example
Aşağıdaki örnek bir dağıtım nesnesi döndürür:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"deploymentOutput": {
"type": "object",
"value": "[deployment()]"
}
}
}
Yukarıdaki örnek aşağıdaki nesneyi döndürür:
{
"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"
}
}
Abonelik dağıtımı için aşağıdaki örnek bir dağıtım nesnesi döndürür:
{
"$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()
Dağıtım için kullanılan Azure ortamı hakkındaki bilgileri döndürür.
environment() İşlev, kaynak yapılandırmalarının farkında değildir. Her kaynak türü için yalnızca tek bir varsayılan DNS son eki döndürebilir.
Bicep'te işlevini kullanın environment .
Remarks
Hesabınız için kayıtlı ortamların listesini görmek için veya az cloud listkullanınGet-AzEnvironment.
Dönüş değeri
Bu işlev, geçerli Azure ortamının özelliklerini döndürür. Aşağıdaki örnekte genel Azure'ın özellikleri gösterilmektedir; bağımsız bulutlar biraz farklı özellikler döndürebilir:
{
"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
Aşağıdaki örnek şablon ortam nesnesini döndürür:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"environmentOutput": {
"type": "object",
"value": "[environment()]"
}
}
}
Yukarıdaki örnek, genel Azure'a dağıtıldığında aşağıdaki nesneyi döndürür:
{
"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)
Bir parametre değeri döndürür. Belirtilen parametre adı, şablonun parametreler bölümünde tanımlanmalıdır.
Bicep'te, sembolik adlarını kullanarak parametrelere doğrudan başvurun.
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| parameterName | Yes | string | Döndürülecek parametrenin adı. |
Dönüş değeri
Belirtilen parametrenin değeri.
Remarks
Genellikle kaynak değerlerini ayarlamak için parametreleri kullanırsınız. Aşağıdaki örnek, web sitesinin adını dağıtım sırasında geçirilen parametre değerine ayarlar.
"parameters": {
"siteName": {
"type": "string"
}
}, "resources": [
{
"type": "Microsoft.Web/Sites",
"apiVersion": "2025-03-01",
"name": "[parameters('siteName')]",
...
}
]
Example
Aşağıdaki örnekte işlevin basitleştirilmiş kullanımı gösterilmektedir 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')]"
}
}
}
Önceki örnekteki varsayılan değerlerin çıkışı:
| Name | Type | Value |
|---|---|---|
| stringOutput | String | seçenek 1 |
| intOutput | Int | 1 |
| objectOutput | Object | {"one": "a", "two": "b"} |
| arrayOutput | Array | [1, 2, 3] |
| crossOutput | String | seçenek 1 |
Parametreleri kullanma hakkında daha fazla bilgi için bkz. ARM şablonlarındaki parametreler.
variables
variables(variableName)
Bir değişkenin değerini döndürür. Belirtilen değişken adı, şablonun değişkenler bölümünde tanımlanmalıdır.
Bicep'te, sembolik adlarını kullanarak değişkenlere doğrudan başvurur.
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| variableName | Yes | String | Döndürülecek değişkenin adı. |
Dönüş değeri
Belirtilen değişkenin değeri.
Remarks
Genellikle, karmaşık değerleri yalnızca bir kez oluşturarak şablonunuzu basitleştirmek için değişkenleri kullanırsınız. Aşağıdaki örnek, depolama hesabı için benzersiz bir ad oluşturur:
"variables": {
"storageName": "[concat('storage', uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('storageName')]",
...
},
{
"type": "Microsoft.Compute/virtualMachines",
"dependsOn": [
"[variables('storageName')]"
],
...
}
],
Example
Aşağıdaki örnek farklı değişken değerleri döndürür:
{
"$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')]"
}
}
}
Önceki örnekteki varsayılan değerlerin çıkışı:
| Name | Type | Value |
|---|---|---|
| exampleOutput1 | String | myVariable |
| exampleOutput2 | Array | [1, 2, 3, 4] |
| exampleOutput3 | String | myVariable |
| exampleOutput4 | Object | {"property1": "value1", "property2": "value2"} |
Değişkenleri kullanma hakkında daha fazla bilgi için bkz. ARM şablonundaki değişkenler.
Sonraki Adımlar
ARM şablonundaki bölümler hakkında daha fazla bilgi edinmek için ARM şablonlarının yapısına ve söz dizimine bakın.