Ćwiczenie — używanie plików parametrów i tagów usługi Azure Resource Manager
W tym ćwiczeniu dodasz tagi, aby ułatwić organizowanie i monitorowanie zasobów platformy Microsoft Azure. Użyjesz także pliku parametrów szablonu usługi Azure Resource Manager (ARM), aby umożliwić stosowanie różnych konfiguracji parametrów w poszczególnych wdrożeniach.
W tym ćwiczeniu używane są narzędzia usługi Azure Resource Manager dla programu Visual Studio Code. Pamiętaj, aby zainstalować to rozszerzenie w programie Visual Studio Code.
Tworzenie tagu w celu śledzenia projektu i środowiska wdrażania zasobów
Najpierw utworzysz parametr, który będzie używany jako tag zasobu w szablonie.
W programie Visual Studio Code w pliku azuredeploy.json umieść kursor po zamykającym nawiasie klamrowym dla parametru
storageSKU
. Dodaj przecinek i naciśnij klawisz Enter.Wpisz par. Zostanie wyświetlona lista powiązanych fragmentów kodu.
Wybierz pozycję arm-param. Pamiętaj, że ta czynność spowoduje dodanie ogólnego parametru do szablonu. Wygląda na to, że ten kod:
"parameter1": { "type": "string", "metadata": { "description": "description" }
Zmień wartość parametru
parameter1
na resourceTags, a wartość parametru"type":
na object. Pamiętaj, że parametry mogą zawierać typy danych string, secureString, int, bool, object, secureObject i array. W podsumowaniu tego modułu znajduje się link do przykładowej składni dla tych typów parametrów.Dodaj atrybut o nazwie defaultValue: i ustaw wartość { "Environment": "Dev", "Project": "Tutorial"}.
Blok parametru powinien wyglądać podobnie do następującego kodu:
"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" } } },
Użyj tego parametru do otagowania zasobu konta magazynu. Zmień atrybut
tags:
w definicji zasobu:"tags": "[parameters('resourceTags')]",
Plik powinien wyglądać następująco:
{ "$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": {} }
Zapisz plik.
Wdrażanie szablonu usługi ARM ze zaktualizowanymi tagami
Wdróż zaktualizowany szablon usługi ARM na platformie Azure. Pamiętaj, aby użyć tego samego parametru
storagePrefix
co wcześniej.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
Wdróż zaktualizowany szablon usługi ARM na platformie Azure. Pamiętaj, aby użyć tego samego parametru
storagePrefix
co wcześniej.$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
Sprawdzanie, czy nowe tagi znajdują się we wdrożeniu
Na platformie Azure wybierz grupę
zasobów [nazwa grupy zasobów piaskownicy], a następnie wybierz wdrożone konto magazynu.Zwróć uwagę na tagi Environment : Dev and Project : Tutorial :
Używanie pliku parametrów
Obecnie przy każdym wdrażaniu tego szablonu należy wypełnić trzy parametry. Każdy użytkownik szablonu może utworzyć plik przechowujący wartości parametrów. W tej części utworzysz plik parametrów do użytku z szablonem.
W programie Visual Studio Code utwórz kolejny plik. Nadaj mu nazwę azuredeploy.parameters.dev.json.
W tym pliku należy dodać wartości parametrów szablonu, które mają być wprowadzane do szablonu środowiska deweloperskiego. Zmień wartość tagu, aby zobaczyć, że wdrożenie powoduje wprowadzenie zmiany. Możesz na przykład zmienić wartość
projectName
na 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" } } } }
Pamiętaj, aby zastąpić ciąg
{unique-prefix}
własnym unikatowym prefiksem.Zapisz plik.
Wdrażanie szablonu za pomocą pliku parametrów
W tej sekcji wdrożysz szablon usługi ARM, określając plik parametrów, którego należy użyć.
W terminalu programu Visual Studio Code uruchom następujące polecenia interfejsu wiersza poleceń platformy Azure:
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
Sprawdź na platformie Azure, czy wdrożenie przebiegło pomyślnie i czy wartość tagu została zmieniona:
Jako dodatkowe wyzwanie możesz utworzyć plik parametrów dla środowiska produkcyjnego. Uruchamiając polecenie w celu wdrożenia w środowisku produkcyjnym, zmień ścieżkę pliku parametrów.
W terminalu programu Visual Studio Code uruchom następujące polecenia programu 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
Sprawdź na platformie Azure, czy wdrożenie przebiegło pomyślnie i czy wartość tagu została zmieniona:
Jako dodatkowe wyzwanie możesz utworzyć plik parametrów dla środowiska produkcyjnego. Uruchamiając polecenie w celu wdrożenia w środowisku produkcyjnym, zmień ścieżkę pliku parametrów.