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.
Templat Mulai Cepat Azure adalah repositori templat yang dikontribusikan komunitas. Anda dapat menggunakan templat sampel dalam pengembangan templat Anda. Dalam tutorial ini, Anda menemukan definisi sumber daya situs web dan menambahkannya ke templat Anda sendiri. Instruksi ini membutuhkan waktu 12 menit untuk diselesaikan.
Prasyarat
Kami merekomendasikan agar Anda menyelesaikan tutorial tentang templat yang diekspor, meskipun hal itu tidak wajib.
Anda harus memiliki Visual Studio Code, dan Azure PowerShell atau Azure CLI. Untuk informasi selengkapnya, lihat alat templat.
Meninjau templat
Di akhir tutorial sebelumnya, templat Anda memiliki file JSON berikut:
{
"$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]"
}
}
}
Templat ini berfungsi untuk menyebarkan akun penyimpanan dan paket layanan aplikasi, tetapi Anda mungkin ingin menambahkan situs web ke dalamnya. Anda dapat menggunakan templat bawaan untuk menemukan JSON yang diperlukan dengan cepat untuk menyebarkan sumber daya.
Temukan templat
Pilih petak peta dengan judul Sebarkan aplikasi web Linux dasar. Jika Anda kesulitan menemukannya, berikut tautan langsungnya.
Pilih Telusuri di GitHub.
Pilih azuredeploy.json.
Meninjau templat. Cari sumber daya
Microsoft.Web/sites.
Merevisi templat yang sudah ada
Gabungkan templat mulai cepat dengan templat yang sudah ada:
{
"$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]"
}
}
}
Nama aplikasi web harus unik di seluruh Azure. Untuk mencegah memiliki nama duplikat, variabel diperbarui webAppPortalName dari "webAppPortalName": "[concat(parameters('webAppName'), '-webapp')]" ke "webAppPortalName": "[concat(parameters('webAppName'), uniqueString(resourceGroup().id))]".
Tambahkan koma di akhir Microsoft.Web/serverfarms definisi untuk memisahkan definisi sumber daya dari Microsoft.Web/sites definisi.
Ada beberapa fitur penting yang perlu diperhatikan dalam sumber daya baru ini.
Ini memiliki elemen bernama dependsOn yang diatur ke paket layanan aplikasi. Pengaturan ini diperlukan karena paket layanan aplikasi harus ada sebelum aplikasi web dibuat. Elemen ini dependsOn memberi tahu Resource Manager cara memesan sumber daya untuk penyebaran.
Properti serverFarmId menggunakan fungsi resourceId . Fungsi ini mendapatkan pengidentifikasi unik untuk sumber daya. Dalam kasus ini, sistem mendapatkan pengidentifikasi unik untuk paket layanan aplikasi. Aplikasi web dikaitkan dengan satu paket layanan aplikasi tertentu.
Menyebarkan templat
Gunakan Azure CLI atau Azure PowerShell untuk menyebarkan templat.
Jika Anda belum membuat grup sumber daya, lihat Membuat grup sumber daya. Contoh mengasumsikan Anda telah mengatur variabel templateFile ke jalur ke file templat, seperti yang ditunjukkan dalam tutorial pertama.
New-AzResourceGroupDeployment `
-Name addwebapp `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS `
-webAppName demoapp
Nota
Jika penyebaran gagal, gunakan tombol verbose untuk mendapatkan informasi tentang sumber daya yang Anda buat. Gunakan saklar debug untuk mendapatkan informasi selengkapnya untuk pemecahan masalah.
Membersihkan sumber daya
Jika Anda melanjutkan ke tutorial berikutnya, Anda tidak perlu menghapus grup sumber daya.
Jika berhenti sekarang, Anda mungkin ingin menghapus grup sumber daya.
- Dari portal Microsoft Azure, pilih Grup sumber daya dari menu sebelah kiri.
- Ketik nama grup sumber daya di kotak teks Filter untuk bidang apa pun....
- Centang kotak di samping myResourceGroup dan pilih myResourceGroup atau nama grup sumber daya Anda.
- Pilih Hapus grup sumber daya dari menu atas.
Langkah selanjutnya
Anda mempelajari cara menggunakan templat quick start untuk pengembangan templat Anda. Dalam tutorial berikutnya, Anda menambahkan tag ke sumber daya.