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 Hızlı Başlangıç Şablonları , topluluk tarafından katkıda bulunan şablonların bir deposudur. Şablon geliştirmenizde örnek şablonları kullanabilirsiniz. Bu öğreticide bir web sitesi kaynak tanımı bulur ve bunu kendi şablonunuza eklersiniz. Bu yönergenin tamamlanması 12 dakika sürer.
Önkoşullar
Dışarı aktarılan şablonlarla ilgili öğreticiyi tamamlamanızı öneririz, ancak gerekli değildir.
Visual Studio Code'a ve Azure PowerShell'e veya Azure CLI'ya sahip olmanız gerekir. Daha fazla bilgi için bkz. şablon araçları.
Şablonu gözden geçirme
Önceki öğreticinin sonunda şablonunuz aşağıdaki JSON dosyasına sahipti:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"type": "string",
"minLength": 3,
"maxLength": 11
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
]
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
},
"appServicePlanName": {
"type": "string",
"defaultValue": "exampleplan"
}
},
"variables": {
"uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2025-06-01",
"name": "[variables('uniqueStorageName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2025-03-01",
"name": "[parameters('appServicePlanName')]",
"location": "[parameters('location')]",
"sku": {
"name": "B1",
"tier": "Basic",
"size": "B1",
"family": "B",
"capacity": 1
},
"kind": "linux",
"properties": {
"perSiteScaling": false,
"reserved": true,
"targetWorkerCount": 0,
"targetWorkerSizeId": 0
}
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
}
}
}
Bu şablon depolama hesaplarını ve app service planlarını dağıtmak için çalışır, ancak buna bir web sitesi eklemek isteyebilirsiniz. Bir kaynağı dağıtmak için gereken JSON'ı hızla bulmak için önceden oluşturulmuş şablonları kullanabilirsiniz.
Şablon bulma
Temel bir Linux web uygulaması dağıtma başlığına sahip kutucuğu seçin. Bulma konusunda sorun yaşıyorsanız doğrudan bağlantı aşağıdadır.
GitHub'da Gözat seçeneğini seçin.
azuredeploy.jsonöğesini seçin.
Şablonu gözden geçirin.
Microsoft.Web/siteskaynağını arayın.
Var olan şablonu düzelt
Hızlı başlangıç şablonunu mevcut şablonla birleştirin:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"type": "string",
"minLength": 3,
"maxLength": 11
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
]
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
},
"appServicePlanName": {
"type": "string",
"defaultValue": "exampleplan"
},
"webAppName": {
"type": "string",
"metadata": {
"description": "Base name of the resource such as web app name and app service plan "
},
"minLength": 2
},
"linuxFxVersion": {
"type": "string",
"defaultValue": "php|7.0",
"metadata": {
"description": "The Runtime stack of current web app"
}
}
},
"variables": {
"uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]",
"webAppPortalName": "[concat(parameters('webAppName'), uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2025-06-01",
"name": "[variables('uniqueStorageName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2025-03-01",
"name": "[parameters('appServicePlanName')]",
"location": "[parameters('location')]",
"sku": {
"name": "B1",
"tier": "Basic",
"size": "B1",
"family": "B",
"capacity": 1
},
"kind": "linux",
"properties": {
"perSiteScaling": false,
"reserved": true,
"targetWorkerCount": 0,
"targetWorkerSizeId": 0
}
},
{
"type": "Microsoft.Web/sites",
"apiVersion": "2025-03-01",
"name": "[variables('webAppPortalName')]",
"location": "[parameters('location')]",
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]"
],
"kind": "app",
"properties": {
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]",
"siteConfig": {
"linuxFxVersion": "[parameters('linuxFxVersion')]"
}
}
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
}
}
}
Web uygulaması adının Azure genelinde benzersiz olması gerekir. Yinelenen adlara sahip olunmasını önlemek için webAppPortalName değişkeni "webAppPortalName": "[concat(parameters('webAppName'), '-webapp')]"'den "webAppPortalName": "[concat(parameters('webAppName'), uniqueString(resourceGroup().id))]"'ye güncellenir.
Microsoft.Web/serverfarms tanımının sonuna bir virgül ekleyerek, kaynak tanımını Microsoft.Web/sites tanımından ayırın.
Bu yeni kaynakta dikkat edilmesi gereken birkaç önemli özellik vardır.
App Service planına ayarlanmış adı dependsOn olan bir öğesi vardır. Web uygulaması oluşturulmadan önce app service planının mevcut olması gerektiğinden bu ayar gereklidir. öğesi Resource dependsOn Manager'a dağıtım için kaynakların nasıl sıralanması gerektiğini söyler.
özelliği serverFarmId işlevini kullanır. Bu işlev bir kaynağın benzersiz tanımlayıcısını alır. Bu durumda, uygulama hizmet planının benzersiz tanımlayıcısını elde eder. Web uygulaması belirli bir app service planıyla ilişkilendirilir.
Şablonu dağıt
Şablon dağıtmak için Azure CLI veya Azure PowerShell kullanın.
Kaynak grubunu oluşturmadıysanız bkz. Kaynak grubu oluşturma. Örnekte, ilk öğreticide gösterildiği gibi templateFile değişkenini şablon dosyasının yoluna ayarladığınız varsayılır.
New-AzResourceGroupDeployment `
-Name addwebapp `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS `
-webAppName demoapp
Uyarı
Dağıtım başarısız olursa, oluşturduğunuz kaynaklar hakkında bilgi almak için verbose anahtarını kullanın.
debug Hata ayıklama hakkında daha fazla bilgi edinmek için anahtarını kullanın.
Kaynakları temizle
Sonraki öğreticiye geçiyorsanız kaynak grubunu silmeniz gerekmez.
Şimdi durduruyorsanız kaynak grubunu silmek isteyebilirsiniz.
- Azure portalından soldaki menüden Kaynak grupları'nı seçin.
- Herhangi bir alan için filtre uygula... metin alanına kaynak grubu adını yazın.
- myResourceGroup'un yanındaki kutuyu işaretleyin ve myResourceGroup veya kaynak grubunuzun adını seçin.
- Üstteki menüden Kaynak grubunu sil'i seçin.
Sonraki Adımlar
Şablon geliştirmeniz için hızlı başlangıç şablonu kullanmayı öğrendiniz. Sonraki öğreticide kaynaklara etiketler ekleyebilirsiniz.