ARM şablonlarının yapısını ve söz dizimini anlama
Bu makalede bir Azure Resource Manager şablonunun yapısı açıklanmaktadır (ARM şablonu). Bir şablonun farklı bölümlerini ve bu bölümlerde kullanılabilen özellikleri gösterir.
Bu makale, ARM şablonları hakkında bazı benzerlik sahibi olan kullanıcılar için tasarlanmıştır. Şablonun yapısı hakkında ayrıntılı bilgi sağlar. Şablon oluşturma sürecinde size kılavuzluk eden adım adım bir öğretici için bkz. öğretici: Ilk ARM şablonunuzu oluşturma ve dağıtma. Microsoft Learn üzerinde bir Kılavuzlu dizi modülle ARM şablonları hakkında bilgi edinmek için bkz. ARM şablonlarını kullanarak Azure 'da kaynakları dağıtma ve yönetme.
Şablon biçimi
En basit yapısında, bir şablon aşağıdaki öğelere sahiptir:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "",
"apiProfile": "",
"parameters": { },
"variables": { },
"functions": [ ],
"resources": [ ],
"outputs": { }
}
| Öğe adı | Gerekli | Açıklama |
|---|---|---|
| $schema | Yes | Şablon dilinin sürümünü açıklayan JavaScript Nesne Gösterimi (JSON) şema dosyasının konumu. Kullandığınız sürüm numarası, dağıtımın kapsamına ve JSON düzenleyicinize bağlıdır. Azure Resource Manager araçları uzantısı ile Visual Studio Codekullanıyorsanız, kaynak grubu dağıtımları için en son sürümü kullanın: https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#diğer düzenleyiciler (Visual Studio dahil) bu şemayı işleyemeyebilir. Bu düzenleyiciler için şunu kullanın: https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#Abonelik dağıtımları için şunu kullanın: https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#Yönetim grubu dağıtımları için şunu kullanın: https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#Kiracı dağıtımları için şunu kullanın: https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json# |
| contentVersion | Yes | Şablonun sürümü (1.0.0.0 gibi). Bu öğe için herhangi bir değer sağlayabilirsiniz. Şablonunuzda önemli değişiklikleri belgelemek için bu değeri kullanın. Şablonu kullanarak kaynakları dağıttığınızda, bu değer doğru şablonun kullanıldığından emin olmak için kullanılabilir. |
| apiProfile | No | Kaynak türleri için API sürümleri koleksiyonu görevi gören bir API sürümü. Şablondaki her kaynak için API sürümlerini belirtmek zorunda kalmamak için bu değeri kullanın. Bir API profili sürümü belirttiğinizde ve kaynak türü için bir API sürümü belirtmezseniz Kaynak Yöneticisi, profilde tanımlanan bu kaynak türü için API sürümünü kullanır. API profili özelliği, bir şablonu Azure Stack ve küresel Azure gibi farklı ortamlara dağıtmada özellikle faydalıdır. Şablonunuzun her iki ortamda da desteklenen sürümleri otomatik olarak kullandığından emin olmak için API profili sürümünü kullanın. Geçerli API profili sürümlerinin ve profilde tanımlanan kaynak API sürümlerinin bir listesi için bkz. API profili. Daha fazla bilgi için bkz. API profillerini kullanarak sürümleri izleme. |
| parametrelere | No | Kaynak dağıtımını özelleştirmek için dağıtım yürütüldüğünde belirtilen değerler. |
| değişkenlerinin | No | Şablon dil ifadelerini basitleştirmek için şablonda JSON parçaları olarak kullanılan değerler. |
| lerdir | No | Şablon içinde kullanılabilen Kullanıcı tanımlı işlevler. |
| kaynakların | Yes | Bir kaynak grubunda veya abonelikte dağıtılan veya güncellenen kaynak türleri. |
| çıkışı | No | Dağıtımdan sonra döndürülen değerler. |
Her öğenin ayarlayabileceğiniz özellikleri vardır. Bu makalede, şablonun bölümleri daha ayrıntılı olarak açıklanmaktadır.
Parametreler
parametersŞablonun bölümünde, kaynakları dağıttığınızda hangi değerleri gir, istediğinizi belirtirsiniz. Bir şablonda 256 parametreyle sınırlı olursunuz. Birden çok özellik içeren nesneleri kullanarak parametre sayısını azaltabilirsiniz.
Bir parametre için kullanılabilir özellikler şunlardır:
"parameters": {
"<parameter-name>" : {
"type" : "<type-of-parameter-value>",
"defaultValue": "<default-value-of-parameter>",
"allowedValues": [ "<array-of-allowed-values>" ],
"minValue": <minimum-value-for-int>,
"maxValue": <maximum-value-for-int>,
"minLength": <minimum-length-for-string-or-array>,
"maxLength": <maximum-length-for-string-or-array-parameters>,
"metadata": {
"description": "<description-of-the parameter>"
}
}
}
| Öğe adı | Gerekli | Açıklama |
|---|---|---|
| parametre-adı | Yes | Parametrenin adı. Geçerli bir JavaScript tanımlayıcısı olmalıdır. |
| tür | Yes | Parametre değerinin türü. İzin verilen türler ve değerler dize, SecureString, int, bool, nesne, secureobject ve dizidir. ARM şablonlarındaki veri türlerinebakın. |
| Değerinin | No | Parametresi için değer sağlanmazsa, parametre için varsayılan değer. |
| allowedValues | No | Doğru değerin sağlandığından emin olmak için parametresi için izin verilen değerler dizisi. |
| minValue | No | İnt tür parametrelerinin minimum değeri, bu değer dahil değildir. |
| Değerini | No | İnt tür parametrelerinin en büyük değeri, bu değer dahil değildir. |
| minLength | No | Dize, güvenli dize ve dizi türü parametrelerinin minimum uzunluğu, bu değer dahil değildir. |
| 'In | No | Dize, güvenli dize ve dizi türü parametrelerinin uzunluk üst sınırı, bu değer dahil değildir. |
| açıklama | No | Portalda kullanıcılara görüntülenen parametrenin açıklaması. Daha fazla bilgi için bkz. şablonlarda açıklamalar. |
Parametrelerin nasıl kullanılacağına ilişkin örnekler için bkz. ARM şablonlarındaki parametreler.
Değişkenler
variablesBölümünde, şablonunuzun tamamında kullanılabilecek değerler oluşturursunuz. Değişken tanımlamanız gerekmez, ancak genellikle karmaşık ifadeleri azaltarak şablonunuzu basitleştirir. Her değişkenin biçimi, veri türlerindenbiriyle eşleşir.
Aşağıdaki örnekte değişken tanımlamaya uygun seçenekler ve seçenekler açık bir şekilde ve açık bir şekilde ve daha sonra açık bir şekilde açık bir şekilde ve daha fazla değişkenle birlikte kullanılabilir:
"variables": {
"<variable-name>": "<variable-value>",
"<variable-name>": {
<variable-complex-type-value>
},
"<variable-object-name>": {
"copy": [
{
"name": "<name-of-array-property>",
"count": <number-of-iterations>,
"input": <object-or-value-to-repeat>
}
]
},
"copy": [
{
"name": "<variable-array-name>",
"count": <number-of-iterations>,
"input": <object-or-value-to-repeat>
}
]
}
bir değişken için çeşitli copy değerler oluşturmak için kullanma hakkında bilgi için bkz. Değişken yinelemesi.
Değişkenleri kullanma örnekleri için bkz. ARM şablonunda değişkenler.
İşlevler
Şablon içinde kendi işlevlerinizi oluşturabilirsiniz. Bu işlevler şablonda kullanılabilir. Genellikle, şablonunuz genelinde tekrarlamak istemeyebilirsiniz karmaşık ifadeler tanımlarsınız. Şablonlarda desteklenen ifadelerden ve işlevlerden kullanıcı tanımlı işlevler oluşturursanız.
Kullanıcı işlevi tanımlarken bazı kısıtlamalar vardır:
- İşlev değişkenlere erişe değildir.
- İşlev yalnızca işlevde tanımlanan parametreleri kullanabilir. Kullanıcı tanımlı bir işlevde parameters işlevini kullanırken, bu işlevin parametreleriyle sınırlandırılmış oluruz.
- İşlev, diğer kullanıcı tanımlı işlevleri çağıramaz.
- işlevi başvuru işlevini kullanamayr.
- İşlevin parametreleri varsayılan değerlere sahip değildir.
"functions": [
{
"namespace": "<namespace-for-functions>",
"members": {
"<function-name>": {
"parameters": [
{
"name": "<parameter-name>",
"type": "<type-of-parameter-value>"
}
],
"output": {
"type": "<type-of-output-value>",
"value": "<function-return-value>"
}
}
}
}
],
| Öğe adı | Gerekli | Açıklama |
|---|---|---|
| ad alanı | Yes | Özel işlevlerin ad alanı. Şablon işlevleriyle adlandırma çakışmalarını önlemek için kullanın. |
| işlev-adı | Yes | Özel işlevin adı. İşlevi çağırarak işlev adını ad alanıyla birleştirin. Örneğin, contoso ad alanı içinde adlı uniqueName bir işlevi çağırarak "[contoso.uniqueName()]" kullanın. |
| parametre-adı | No | Özel işlev içinde kullanılacak parametrenin adı. |
| parametre-değeri | No | Parametre değerinin türü. İzin verilen türler ve değerler dize, securestring, int, bool, object, secureObject ve dizisidir. |
| output-type | Yes | Çıkış değerinin türü. Çıkış değerleri, işlev giriş parametreleriyle aynı türleri destekler. |
| output-value | Yes | Değerlendirilen ve işlevden döndürülen şablon dili ifadesi. |
Özel işlevleri kullanma örnekleri için bkz. ARM şablonunda kullanıcı tanımlı işlevler.
Kaynaklar
bölümünde, resources dağıtılan veya güncelleştirilen kaynakları tanımlarsiniz.
Kaynakları aşağıdaki yapıyla tanımlarsiniz:
"resources": [
{
"condition": "<true-to-deploy-this-resource>",
"type": "<resource-provider-namespace/resource-type-name>",
"apiVersion": "<api-version-of-resource>",
"name": "<name-of-the-resource>",
"comments": "<your-reference-notes>",
"location": "<location-of-resource>",
"dependsOn": [
"<array-of-related-resource-names>"
],
"tags": {
"<tag-name1>": "<tag-value1>",
"<tag-name2>": "<tag-value2>"
},
"identity": {
"type": "<system-assigned-or-user-assigned-identity>",
"userAssignedIdentities": {
"<resource-id-of-identity>": {}
}
},
"sku": {
"name": "<sku-name>",
"tier": "<sku-tier>",
"size": "<sku-size>",
"family": "<sku-family>",
"capacity": <sku-capacity>
},
"kind": "<type-of-resource>",
"scope": "<target-scope-for-extension-resources>",
"copy": {
"name": "<name-of-copy-loop>",
"count": <number-of-iterations>,
"mode": "<serial-or-parallel>",
"batchSize": <number-to-deploy-serially>
},
"plan": {
"name": "<plan-name>",
"promotionCode": "<plan-promotion-code>",
"publisher": "<plan-publisher>",
"product": "<plan-product>",
"version": "<plan-version>"
},
"properties": {
"<settings-for-the-resource>",
"copy": [
{
"name": ,
"count": ,
"input": {}
}
]
},
"resources": [
"<array-of-child-resources>"
]
}
]
| Öğe adı | Gerekli | Açıklama |
|---|---|---|
| Durum | No | Bu dağıtım sırasında kaynağın sağ olup olmadığını gösteren Boole değeri. olduğunda, true kaynak dağıtım sırasında oluşturulur. olduğunda, false kaynak bu dağıtım için atlanır. Bkz. koşulu. |
| tür | Yes | Kaynağın türü. Bu değer, kaynak sağlayıcısının ad alanı ve kaynak türünün (örneğin, ) Microsoft.Storage/storageAccounts birleşimidir. Kullanılabilir değerleri belirlemek için bkz. şablon başvurusu. Alt kaynak için türün biçimi, üst kaynağın içinde mi yoksa üst kaynağın dışında mı tanımlandığına bağlıdır. Bkz. Alt kaynaklar için ad ve tür ayarlama. |
| apiVersion | Yes | Kaynağı REST API için kullanabileceğiniz uygulamanın sürümü. Yeni bir şablon oluştururken, bu değeri dağıtıyorsanız kaynağın en son sürümüne ayarlayın. Şablon gerekli olduğu sürece aynı API sürümünü kullanmaya devam edin. Aynı API sürümünü kullanmaya devam ettiyerek, yeni API sürümünün şablon nasıl çalıştığını değiştirme riskini en aza indirmiş oluruz. API sürümünü yalnızca sonraki bir sürümde tanıtılmıştır yeni bir özellik kullanmak istediğiniz zaman güncelleştirmeyi göz önünde bulundurabilirsiniz. Kullanılabilir değerleri belirlemek için bkz. şablon başvurusu. |
| name | Yes | Kaynağın adı. Ad, RFC3986'da tanımlanan URI bileşeni kısıtlamalarına uymalı. Kaynak adını dış tarafların kullanımına silen Azure hizmetleri, adı doğrular ve bunun başka bir kimliğin sahtesi denemesi olmadığını doğrular. Bir alt kaynak için adın biçimi, adın üst kaynak içinde iç içe geçmiş veya üst kaynağın dışında tanımlandığına bağlıdır. Bkz. Alt kaynaklar için ad ve tür ayarlama. |
| yorumlar | No | Şablonunuz içinde kaynakları belgeleyene notlarınız. Daha fazla bilgi için bkz. Şablonlarda açıklamalar. |
| location | Değişir | Sağlanan kaynağın desteklenen coğrafi konumları. Kullanılabilir konumlardan herhangi birini seçebilirsiniz, ancak genellikle kullanıcılarınıza yakın bir konum seçmek mantıklıdır. Genellikle birbirleriyle etkileşime geçen kaynakları aynı bölgeye de yer kurmak mantıklıdır. Çoğu kaynak türü bir konum gerektirir, ancak bazı türler (rol ataması gibi) konum gerektirmez. Bkz. Kaynak konumunu ayarlama. |
| dependsOn | No | Bu kaynak dağıtıldıktan önce dağıtılması gereken kaynaklar. Resource Manager kaynaklar arasındaki bağımlılıkları değerlendirir ve doğru sırayla dağıtır. Kaynaklar birbirine bağımlı olmayan kaynaklar paralel olarak dağıtılır. Değer, kaynak adlarının veya kaynak benzersiz tanımlayıcılarının virgülle ayrılmış bir listesi olabilir. Yalnızca bu şablonda dağıtılan kaynakları listele. Bu şablonda tanımlanmamış kaynakların zaten mevcut olması gerekir. Dağıtımınızı yavaşlatandan ve döngüsel bağımlılıklar oluşturandan gereksiz bağımlılıklar eklemekten kaçının. Bağımlılıkları ayarlama hakkında rehberlik için bkz. ARM şablonlarında kaynak dağıtma sıralarını tanımlama. |
| etiketler | No | Kaynakla ilişkili etiketler. Aboneliğiniz genelinde kaynakları mantıksal olarak düzenlemek için etiketler uygulama. |
| identity | No | Bazı kaynaklar Azure kaynakları için yönetilen kimlikleri destekler. Bu kaynaklar, kaynak bildiriminin kök düzeyinde bir kimlik nesnesine sahip olur. Kimliğin kullanıcı tarafından mı yoksa sistem tarafından mı atandığı olarak ayarlayın. Kullanıcı tarafından atanan kimlikler için kimlikler için kaynak kimliklerinin listesini sağlar. Anahtarı kaynak kimliğine, değeri de boş bir nesneye ayarlayın. Daha fazla bilgi için bkz. Şablonları kullanarak Azure VM'leri üzerinde Azure kaynakları için yönetilen kimlikleri yapılandırma. |
| Sku | No | Bazı kaynaklar, dağıtım için SKU'nun tanımladığınız değerlere izin verir. Örneğin, bir depolama hesabı için yedeklilik türünü belirtebilirsiniz. |
| Tür | No | Bazı kaynaklar, dağıtın kaynağın türünü tanımlayan bir değere izin verir. Örneğin, oluşturulan veritabanı türünü Cosmos belirterek. |
| scope | No | Kapsam özelliği yalnızca uzantı kaynak türleri için kullanılabilir. Dağıtım kapsamından farklı bir kapsam belirtirken bunu kullanın. Bkz. ARM şablonlarında uzantı kaynakları için kapsam ayarlama. |
| kopyalama | No | Birden fazla örnek gerekirse, oluşturulan kaynak sayısı. Varsayılan mod paraleldir. Tüm kaynakların veya kaynakların aynı anda dağıtılamalarını istemiyorken seri modu belirtin. Daha fazla bilgi için, bkz. Create several instances of resources in Azure Resource Manager. |
| plan | No | Bazı kaynaklar, dağıtım planını tanımlayan değerlere izin verir. Örneğin, bir sanal makine için market görüntüsünü belirtebilirsiniz. |
| properties | No | Kaynağa özgü yapılandırma ayarları. Özelliklere yönelik değerler, kaynağı oluşturmak için REST API işlemi (PUT yöntemi) için istek gövdesinde sağlan değerlerle aynıdır. Bir özelliğin birkaç örneğini oluşturmak için bir kopyalama dizisi de belirtabilirsiniz. Kullanılabilir değerleri belirlemek için bkz. şablon başvurusu. |
| kaynaklar | No | Tanımlanan kaynağa bağlı olan alt kaynaklar. Yalnızca üst kaynağın şeması tarafından izin verilen kaynak türlerini sağlar. Üst kaynağa bağımlılık örtülü değil. Bu bağımlılığı açıkça tanımlamanız gerekir. Bkz. Alt kaynaklar için ad ve tür ayarlama. |
Çıkışlar
bölümünde, outputs dağıtımdan döndürülen değerleri belirtirsiniz. Genellikle, dağıtılan kaynaklardan değerler dönersiniz.
Aşağıdaki örnek, çıkış tanımının yapısını gösterir:
"outputs": {
"<output-name>": {
"condition": "<boolean-value-whether-to-output-value>",
"type": "<type-of-output-value>",
"value": "<output-value-expression>",
"copy": {
"count": <number-of-iterations>,
"input": <values-for-the-variable>
}
}
}
| Öğe adı | Gerekli | Açıklama |
|---|---|---|
| output-name | Yes | Çıkış değerinin adı. Geçerli bir JavaScript tanımlayıcısı olmalıdır. |
| Durum | No | Bu çıkış değerinin döndürül olup olmadığını gösteren Boole değeri. olduğunda, true değeri dağıtımın çıkışına dahil edilir. olduğunda, false bu dağıtım için çıkış değeri atlanır. Belirtilmedikse varsayılan değer true olur. |
| tür | Yes | Çıkış değerinin türü. Çıkış değerleri, şablon giriş parametreleriyle aynı türleri destekler. Çıkış türü için securestring belirtirsiniz, değer dağıtım geçmişinde görüntülenmez ve başka bir şablondan alınamıyor. Birden fazla şablonda gizli bir değer kullanmak için gizli Key Vault depolar ve parametre dosyasında gizli dosyaya başvurur. Daha fazla bilgi için bkz. Dağıtım Azure Key Vault güvenli parametre değeri geçmek için uygulama kullanma. |
| değer | No | Değerlendirilen ve çıkış değeri olarak döndürülen şablon dili ifadesi. Değerini belirtin veya kopyalayın. |
| kopyalama | No | Bir çıkış için birden fazla değer dönmek için kullanılır. Değeri belirtin veya kopyalayın. Daha fazla bilgi için bkz. ARM şablonlarında çıkış yinelemesi. |
Çıkışları kullanma örnekleri için bkz. ARM şablonunda çıkışlar.
Açıklamalar ve meta veriler
Şablonunuz için açıklama ve meta veri eklemeye yönelik birkaç seçenek vardır.
Yorumlar
Satır içi açıklamalar için veya // /* ... */ kullanabilirsiniz.
Not
Azure CLI kullanarak açıklamalarla şablon dağıtırken 2.3.0 veya sonraki bir sürümü kullanın ve anahtarını --handle-extended-json-format belirtin.
{
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2018-10-01",
"name": "[variables('vmName')]", // to customize name, change it in variables
"location": "[parameters('location')]", //defaults to resource group location
"dependsOn": [ /* storage account and network interface must be deployed first */
"[resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]",
"[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
],
Bu Visual Studio Code, Azure Resource Manager Araçları uzantısı bir ARM şablonunu otomatik olarak algılar ve dil modunu değiştirebilir. Uygulama şablonunun Azure Resource Manager sağ alt köşesinde bir Şablon Visual Studio Code satır içi yorumları kullanabilirsiniz. Satır içi açıklamalar artık geçersiz olarak işaretlenir.

Meta veri
Şablonda neredeyse metadata herhangi bir yere nesne eklemek için kullanabilirsiniz. Resource Manager nesnesini yoksayıyor, ancak JSON düzenleyiciniz özelliğin geçerli olmadığını konusunda sizi uyarıyor olabilir. nesnesinde, ihtiyacınız olan özellikleri tanımlayın.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"comments": "This template was developed for demonstration purposes.",
"author": "Example Name"
},
için, parameters metadata özelliğine sahip bir nesnesi description ekleyin.
"parameters": {
"adminUsername": {
"type": "string",
"metadata": {
"description": "User name for the Virtual Machine."
}
},
Şablonu portal üzerinden dağıtırken, açıklamaya sağ istediğiniz metin otomatik olarak bu parametrenin ipucu olarak kullanılır.

için resources bir öğe veya nesne comments metadata ekleyin. Aşağıdaki örnekte hem bir öğesi comments hem de nesnesi metadata gösterir.
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2018-07-01",
"name": "[concat('storage', uniqueString(resourceGroup().id))]",
"comments": "Storage account used to store VM disks",
"location": "[parameters('location')]",
"metadata": {
"comments": "These tags are needed for policy compliance."
},
"tags": {
"Dept": "[parameters('deptName')]",
"Environment": "[parameters('environment')]"
},
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage",
"properties": {}
}
]
için outputs çıkış metadata değerine bir nesnesi ekleyin.
"outputs": {
"hostname": {
"type": "string",
"value": "[reference(variables('publicIPAddressName')).dnsSettings.fqdn]",
"metadata": {
"comments": "Return the fully qualified domain name"
}
},
Kullanıcı tanımlı işlevlere metadata nesne ekleriz.
Çok satırlı dizeler
Bir dizeyi birden çok satıra kesebilirsiniz. Örneğin, location AŞAĞıDAKI JSON örneğinde, özelliğine ve açıklamalardan birine bakın.
Not
şablonları çok satırlı dizeler ile dağıtmak için Azure PowerShell veya Azure clı kullanın. CLı için, sürüm 2.3.0 veya üstünü kullanın ve --handle-extended-json-format anahtarı belirtin.
şablonu Azure portal, bir DevOps işlem hattı veya REST API aracılığıyla dağıttığınızda çok satırlı dizeler desteklenmez.
{
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2018-10-01",
"name": "[variables('vmName')]", // to customize name, change it in variables
"location": "[
parameters('location')
]", //defaults to resource group location
/*
storage account and network interface
must be deployed first
*/
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]",
"[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
],
Sonraki adımlar
- Farklı türlerde çözümler için tam şablonları görüntülemek üzere bkz. Azure Hızlı Başlangıç Şablonları.
- Bir şablon içinden kullanabileceğiniz işlevlerle ilgili ayrıntılar için bkz. ARM şablon işlevleri.
- Dağıtım sırasında birkaç şablonu birleştirmek için bkz. Azure kaynaklarını dağıttığınızda bağlı ve iç içe Şablonlar kullanma.
- Şablon oluşturma hakkında öneriler için bkz. ARM şablonu en iyi uygulamaları.
- Yaygın soruların yanıtları için bkz. ARM şablonları hakkında sık sorulan sorular.