教學課程:將資源新增至 ARM 範本

上一個教學課程中,您已了解如何建立及部署第一個空白 Azure Resource Manager 範本 (ARM 範本)。 您現在已準備好要將實際的資源部署至該範本。 在此案例中是 Azure 儲存體帳戶。 完成此指示需要 9 分鐘的時間。

必要條件

我們建議您完成有關範本的簡介教學課程,但並非必要。

您必須安裝 Visual Studio Code 並且與 Azure Resource Manager 工具延伸模組以及 Azure PowerShell 或 Azure 命令列介面 (CLI) 搭配使用。 如需詳細資訊,請參閱範本工具

新增資源

若要將 Azure 儲存體帳戶定義新增至現有範本,查看下列範例中醒目提示的 JSON 檔案。 請複製整個檔案,並以其內容取代您的範本,而不要嘗試複製範本的區段。

以唯一的儲存體帳戶名稱取代 {provide-unique-name} 和大括弧 {}

重要

儲存體帳戶名稱必須是 Azure 中是獨一無二的。 只能是小寫字母或數字,且限制為 24 個字元。 您可以使用像是 store1 的名稱作為前置詞,然後新增您的縮寫和今天的日期。 例如,名稱可以是 store1abc06132022

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "{provide-unique-name}",
      "location": "eastus",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ]
}

猜測儲存體帳戶的唯一名稱並不容易,而且不適合用於自動化大型部署。 在此教學課程系列稍後,您會使用範本功能更輕鬆地建立唯一名稱。

資源屬性

您可能想知道如何尋找要用於每個資源類型的屬性。 您可以使用 ARM 範本參考來尋找您要部署的資源類型。

您部署的每個資源至少都有下列三個屬性:

  • type:資源類型。 此值是資源提供者的命名空間與資源類型的組合 (例如 Microsoft.Storage/storageAccounts)。
  • apiVersion:要用來建立資源的 REST API 版本。 每個資源提供者都發佈了自己的 API 版本,所以此值是類型特有的。
  • name:資源名稱。

大部分的資源也都有 location 屬性,此屬性會設定部署資源的區域。

其他屬性會因為資源類型和 API 版本而有所不同。 了解 API 版本與可用屬性之間的連線非常重要,因此,讓我們深入了解詳細資料。

在此教學課程中,您已將儲存體帳戶新增至範本。 您可以看到儲存體帳戶的 API 版本為 storageAccounts 2021-09-01。 請注意,您並未將所有屬性新增至範本。 其中有許多選擇性的屬性。 Microsoft.Storage 儲存體資源提供者可以發行新的 API 版本,但您要部署的版本不需要變更。 您可以繼續使用該版本,並且知道部署的結果將會一致。

如果您檢視較舊的 API 版本,可能會看到有較小的屬性集可供使用。

如果您決定要變更資源的 API 版本,請務必評估該版本的屬性,並適當地調整您的範本。

部署範本

您可以部署範本來建立儲存體帳戶。 為您的部署提供不同的名稱,讓您可以輕鬆地在記錄中找到它。

如果您尚未建立資源群組,請參閱建立資源群組。 此範例會假設您已將 templateFile 變數設為範本檔案的路徑,如第一個教學課程中所示。

New-AzResourceGroupDeployment `
  -Name addstorage `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile

注意

如果部署失敗,請使用 verbose 參數來取得所建立資源的相關資訊。 使用 debug 參數取得更多資訊以進行偵錯。

這些錯誤是您可能遇到的兩個可能部署失敗:

  • Error: Code=AccountNameInvalid; Message={provide-unique-name} 不是有效的儲存體帳戶名稱。 儲存體帳戶名稱必須介於 3 到 24 個字元的長度,而且只能使用數字和小寫字母。

    在此範本中,以唯一的儲存體帳戶名稱取代 {provide-unique-name}。 請參閱新增資源

  • Error: Code=StorageAccountAlreadyTaken; Message=The storage account named store1abc09092019 已在使用中。

    在範本中,嘗試使用不同的儲存體帳戶名稱。

因為您是建立儲存體帳戶,所以此部署所花費的時間會比您的空白範本部署還要久。 可能需要大約一分鐘的時間。

驗證部署

您可以從 Azure 入口網站探索資源群組,藉以確認部署。

  1. 登入 Azure 入口網站
  2. 從左側功能表中,選取 [資源群組]
  3. 核取 myResourceGroup 左側的方塊,然後選取 [myResourceGroup]
  4. 選取您已部署的目標資源群組。
  5. 您會看到儲存體帳戶已經部署。
  6. 請注意,部署標籤現在會顯示:部署:2 已成功

清除資源

如果您要繼續進行下一個教學課程,則不需要刪除資源群組。

如果您現在要停止,則可能想要刪除資源群組來清除您部署的資源。

  1. 在 Azure 入口網站中,選取左側功能表中的 [資源群組]
  2. 在 [篩選任何欄位...] 方塊中輸入資源群組名稱。
  3. 核取 myResourceGroup 旁的方塊,然後選取 [myResourceGroup] 或您選擇的資源群組名稱。
  4. 從頂端功能表中選取 [刪除資源群組]

下一步

您已建立簡單的範本來部署 Azure 儲存體帳戶。 在後續的教學課程中,您會了解如何將參數、變數、資源和輸出新增至範本。 這些功能都是適用於更複雜範本的建置組塊。