Bagikan melalui


Tutorial: Menggunakan Templat Mulai Cepat Azure

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

  1. Buka Templat Quickstart Azure

  2. Pilih petak peta dengan judul Sebarkan aplikasi web Linux dasar. Jika Anda kesulitan menemukannya, berikut tautan langsungnya.

  3. Pilih Telusuri di GitHub.

  4. Pilih azuredeploy.json.

  5. Meninjau templat. Cari sumber daya Microsoft.Web/sites.

    Template Resource Manager untuk situs web mulai cepat

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.

  1. Dari portal Microsoft Azure, pilih Grup sumber daya dari menu sebelah kiri.
  2. Ketik nama grup sumber daya di kotak teks Filter untuk bidang apa pun....
  3. Centang kotak di samping myResourceGroup dan pilih myResourceGroup atau nama grup sumber daya Anda.
  4. 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.