Azure CLI 명령에서 변수를 사용하는 방법

명령에서 직접 값을 지정하는 방법 외에도 다음과 같은 여러 가지 방법으로 값을 제공할 수 있습니다.

  • 셸 변수 사용
  • 여러 명령에서 사용할 구독 설정
  • 일부 매개 변수의 기본값 만들기
  • 일부 매개 변수에 영구 값 사용

이 문서에서는 Azure CLI 명령에서 값을 지정하는 다양한 방법을 설명합니다.

사전 요구 사항

  • Bash 환경을 통해 Azure Cloud Shell을 사용합니다.

    새 창에서 Cloud Shell 시작

  • 원하는 경우 Azure CLI를 설치하여 CLI 참조 명령을 실행합니다.

    • local install을 사용하는 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다. 인증 프로세스를 완료하려면 터미널에 표시되는 단계를 수행합니다. 추가 로그인 옵션은 Azure CLI를 사용하여 로그인을 참조하세요.
    • 메시지가 표시되면 처음 사용할 때 Azure CLI 확장을 설치합니다. 확장에 대한 자세한 내용은 Azure CLI에서 확장 사용을 참조하세요.
    • az version을 실행하여 설치된 버전과 종속 라이브러리를 찾습니다. 최신 버전으로 업그레이드하려면 az upgrade를 실행합니다.

셸 변수 사용

Azure CLI는 셸에서 실행됩니다. 이 문서에서는 Bash를 사용합니다. 다른 셸에 대한 자세한 내용은 Azure CLI를 효과적으로 사용을 참조하세요. Bash의 변수를 사용하여 매개 변수의 값을 명령에 전달할 수 있습니다. Azure CLI에서 변수를 사용하면 명령을 단편적으로 또는 스크립트에서 재사용할 수도 있습니다.

이 예제에서는 기존 가상 머신의 스토리지 디스크와 동일한 유형의 새 스토리지 디스크를 만듭니다.

# Assign values to variables
MyResourceGroup=ContosoRGforVM
MySubscription="Contoso subscription"
vmName=VM01

# Get a value for a variable based on an existing virtual machine
osType=$(az vm get-instance-view --resource-group $MyResourceGroup \
   --name $vmName --subscription "$MySubscription" \
   --query 'storageProfile.osDisk.osType' --output tsv)

# Create a disk of the same type by using the variable value
az disk create --resource-group $MyResourceGroup --name DestinationDisk --size-gb 20 --os-type $osType

이 예제에서는 MyResourceGroup 처럼 재사용되는 변수에 값을 할당하는 방법을 보여 줍니다. 명령은 osType 에 할당할 값을 가져옵니다.

다른 명령의 변수에 값을 할당하는 경우 명령에 호환되는 출력 형식을 사용해야 합니다. az vm get-instance-view 명령은 tsv 출력 형식을 사용합니다. 이 옵션은 추가 서식 지정, 키 또는 다른 기호 없이 값을 반환합니다. 일부 출력 형식에는 따옴표 같은 구조 또는 문자가 포함됩니다. 자세한 내용은 Azure CLI 명령의 출력 형식을 참조하세요.

이 예제에서 MySubscription 변수를 따옴표로 묶어야 합니다. 변수 값에 명령이 구문 분석할 수 없는 공백이 있습니다. 구독 ID로만 작업하는 경우에는 따옴표를 사용할 필요가 없습니다.

구독 설정

많은 명령이 특정 구독을 필요로 합니다. Azure 리소스는 리소스 그룹 안에 있고, 리소스 그룹은 구독 안에 있습니다. 사용자가 세션에 있는 동안 Azure CLI는 기본 구독을 사용합니다. 현재 구독 값을 보려면 az account show 명령을 실행합니다.

az account show --output table

하나의 구독에만 액세스할 수 있습니다. 자세한 내용은 Azure CLI에서 Azure 구독 사용을 참조하세요. az account set 명령을 사용하여 현재 구독을 설정할 수 있습니다.

az account set --subscription "My Demos"

구독을 설정한 후에는 --Subscription 매개 변수를 생략할 수 있습니다. 자세한 내용은 Azure CLI에서 Azure 구독 사용을 참조하세요.

기본값 만들기

Az config set 명령을 사용하여 일부 매개 변수의 값을 설정할 수 있습니다. 다음 예제에서는 기본 리소스 그룹을 설정합니다.

az config set defaults.group=ContosoRGforVM

이 명령을 실행한 후에는 다음 명령을 실행하여 ContosoRGforVM 리소스 그룹에 스토리지 계정을 만들 수 있습니다.

az storage account create --name storage135 --location eastus --sku Standard_LRS

명령에 지정된 리소스 그룹이 없습니다. 자세한 내용은 기본 리소스 그룹 설정을 참조하세요.

여러 가지 방법으로 매개 변수의 값을 가져오는 명령은 혼란스러울 수 있습니다. 리소스 그룹을 찾을 수 없는 경우처럼 명령이 예기치 않은 결과를 제공하는 경우에는 기본값이 있을 수 있습니다.

오류가 발생하는 경우 매개 변수와 값을 지정하고 명령을 다시 실행합니다. 매개 변수의 명시적 값은 항상 다른 옵션보다 우선 적용됩니다.

이러한 방식으로 여러 매개 변수의 값을 지정할 수 있습니다. 자세한 내용은 Azure CLI 구성을 참조하세요.

영구 값 사용

지속형 매개 변수 값을 사용하면 값을 한 번만 지정하면 됩니다. 리소스 그룹에서 여러 가지 관련 작업을 수행하는 경우 해당 그룹을 반복해서 지정할 필요가 없습니다.

다음 명령을 실행하여 매개 변수 값을 유지합니다.

az config param-persist on

지속성을 설정한 후에는 리소스 그룹을 만듭니다.

az group create --name ContosoStorageRG --location eastus

지속성이 설정되기만 하면 이후 명령에서 --resource-group 매개 변수를 그대로 유지할 수 있습니다. 다음 명령은 ContosoStorageRG 리소스 그룹에 스토리지 계정을 만듭니다.

az storage account create --name storage135 --location eastus --sku Standard_LRS

자세한 내용은 Azure CLI 지속형 매개 변수를 참조하세요.

리소스 정리

이 문서에 나온 명령을 시도해 보기 위해 리소스를 만든 경우 az group delete 명령을 사용하여 리소스를 제거할 수 있습니다.

az group delete --name ContosoRGforVM
az group delete --name ContosoStorageRG

이 명령은 그룹 및 해당 그룹에 포함된 모든 리소스를 한 번에 제거합니다.

지속형 매개 변수는 az config param-persist delete 명령을 실행하여 제거할 수 있습니다.

az config param-persist delete --all

다음 단계