練習 - 使用 Azure Resource Manager 標籤和參數檔案
在此練習中,您會新增標籤來協助組織及追蹤您的 Microsoft Azure 資源。 您也可以使用 Azure Resource Manager (ARM) 範本參數檔案,對每個部署進行不同的參數設定。
此練習使用適用於 Visual Studio Code 的 Azure Resource Manager 工具。 請務必在 Visual Studio Code 中安裝此延伸模組。
建立標籤以追蹤資源部署環境和專案
首先,您會建立一個參數,作為範本中的資源標籤使用。
在 Visual Studio Code 的 azuredeploy.json 檔案中,將您的游標放在
storageSKU
參數的右大括弧後面。 加入逗號,然後按 Enter 鍵。輸入 par。 您會看到相關程式碼片段的清單。
選取 [arm-param]。 請記住,此動作會將泛型參數新增至範本。 它會看起來像此程式碼:
"parameter1": { "type": "string", "metadata": { "description": "description" }
將
parameter1
變更為 resourceTags,並將"type":
的值變更為 object。 請記住,參數可以是 string、secureString、int、bool、object、secureObject 及 array 資料類型。 本課程模組的摘要中有這些參數類型的範例語法連結。新增名為 defaultValue: 的屬性,並將值設定為 {"Environment": "Dev", "Project": "Tutorial"}。
參數區塊看起來應該像下列程式碼:
"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" ] }, "resourceTags": { "type": "object", "defaultValue": { "Environment": "Dev", "Project": "Tutorial" } } },
使用此參數來標記您的儲存體帳戶資源。 在資源定義中變更
tags:
屬性:"tags": "[parameters('resourceTags')]",
您的檔案看起來應該像下列檔案:
{ "$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" ] }, "resourceTags": { "type": "object", "defaultValue": { "Environment": "Dev", "Project": "Tutorial" } } }, "functions": [], "variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" }, "resources": [{ "name": "[variables('uniqueStorageName')]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": "[parameters('resourceTags')]", "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } }], "outputs": {} }
儲存檔案。
使用已更新的標籤部署 ARM 範本
將已更新的 ARM 範本部署至 Azure。 請務必使用您之前使用的相同
storagePrefix
。templateFile="azuredeploy.json" today=$(date +"%d-%b-%Y") DeploymentName="updateTags-"$today az deployment group create \ --name $DeploymentName \ --template-file $templateFile \ --parameters storagePrefix={your-Prefix} storageSKU=Standard_LRS
將已更新的 ARM 範本部署至 Azure。 請務必使用您之前使用的相同
storagePrefix
。$templateFile = "azuredeploy.json" $today=Get-Date -Format "MM-dd-yyyy" $deploymentName="updateTags-"+"$today" New-AzResourceGroupDeployment ` -Name $deploymentName ` -TemplateFile $templateFile ` -storagePrefix {your storagePrefix} ` -storageSKU Standard_LRS
確認新的標籤位於部署中
在 Azure 中,選取 [沙箱資源群組名稱]
資源群組,然後選取您部署的儲存體帳戶。 請注意 環境:開發與專案:教學課程標籤:
使用參數檔案
目前,每次部署此範本時都要填入三個參數。 範本的每個使用者都可以建立檔案來保存參數值。 在這裡,您建立參數檔案以搭配範本一起使用。
在 Visual Studio Code 中建立另一個檔案。 命名為 azuredeploy.parameters.dev.json。
在此檔案中,您新增值給您想在開發環境中輸入到範本的範本參數。 變更標記值就可看到部署做出變更。 例如,您可以將
projectName
變更為 Learn:{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "storagePrefix": { "value": "{unique-prefix}" }, "storageSKU": { "value": "Standard_LRS" }, "resourceTags": { "value": { "Environment": "Dev", "Project": "Learn" } } } }
請務必將
{unique-prefix}
換成您的唯一前置詞。儲存檔案。
使用參數檔案部署範本
在本節中,您將部署 ARM 範本,並指定要使用的參數檔案。
在 Visual Studio Code 終端機,執行下列 Azure CLI 命令:
templateFile="azuredeploy.json" devParameterFile="azuredeploy.parameters.dev.json" today=$(date +"%d-%b-%Y") DeploymentName="addParameterFile-"$today az deployment group create \ --name $DeploymentName \ --template-file $templateFile \ --parameters $devParameterFile
檢查 Azure 以確保部署是否成功,以及標籤值是否已變更:
挑戰看看,為生產環境建立參數檔。 執行命令時變更參數檔案路徑,以部署至實際執行環境。
在 Visual Studio Code 終端機,執行下列 Azure PowerShell 命令:
$templateFile = "azuredeploy.json" $parameterFile="azuredeploy.parameters.dev.json" $today=Get-Date -Format "MM-dd-yyyy" $deploymentName="addParameterFile-"+"$today" New-AzResourceGroupDeployment ` -Name $deploymentName ` -TemplateFile $templateFile ` -TemplateParameterFile $parameterFile
檢查 Azure 以確保部署是否成功,以及標籤值是否已變更:
挑戰看看,為生產環境建立參數檔。 執行命令時變更參數檔案路徑,以部署至實際執行環境。