연습 - Azure Resource Manager 변수를 사용하여 식 저장
이 연습에서는 ARM(Azure Resource Manager) 템플릿 변수에 Azure Storage 계정 이름 식을 저장합니다. 그런 다음, 해당 변수를 사용하여 만들 스토리지 계정의 이름을 지정합니다.
이 연습에서는 Visual Studio Code용 Azure Resource Manager 도구를 사용합니다. Visual Studio Code에서 해당 확장을 설치해야 합니다.
변수 추가
템플릿에서 스토리지 계정 이름 식을 한 곳에 저장할 변수를 추가합니다.
Visual Studio Code의 azuredeploy.json 파일에서 변수 블록
"variables":{}
의 중괄호 사이에 커서를 놓고 Enter 키를 누릅니다.중괄호 안에 var을 입력합니다. 관련된 코드 조각 목록이 표시됩니다. arm-variable을 선택합니다.
변수 섹션은 다음 코드와 같습니다.
"variables": {"variable1": "value"},
변수 이름을 uniqueStorageName으로 변경하고 값을 "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]"로 변경합니다. 변수 섹션은 다음 코드와 같습니다.
"variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" },
리터럴 문자열 대신 식에
storagePrefix
매개 변수를 사용하고 있습니다. 이 부분을 제외하면 이전 단원에서 배운 것과 같은 식입니다.리소스 섹션에서 변수를 사용합니다.
name:
및displayName
특성의 값을 "[variables('uniqueStorageName')]"으로 변경합니다.전체 파일은 다음 예제와 같습니다.
{ "$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" ] } }, "functions": [], "variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" }, "resources": [{ "name": "[variables('uniqueStorageName')]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": { "displayName": "[variables('uniqueStorageName')]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } }], "outputs": {} }
필요에 따라 템플릿을 배포합니다.
업데이트된 템플릿에는 배포한 리소스가 변경되지 않으므로 이 템플릿을 배포해도 Azure 환경이 변경되지 않습니다.
템플릿을 배포하여 성공 여부를 확인하려면 다음 Azure CLI 명령을 사용하세요. 마지막 배포에서 사용한 것과 동일한 storagePrefix
매개 변수 값을 사용해야 합니다.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addVariable-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile \
--parameters storagePrefix={your-Prefix}
템플릿을 배포하여 성공 여부를 확인하려면 다음 Azure PowerShell 명령을 사용하세요. 마지막 배포에서 사용한 것과 동일한 storagePrefix
매개 변수 값을 사용해야 합니다.
$templateFile = "azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addVariable-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile `
-storagePrefix {your-Prefix}