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

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

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

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

필수 조건

셸 변수 사용

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

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

# Bash script
# 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

이 예제에서는 MyResourceGrouposType처럼 재사용되는 변수에 값을 할당하는 방법을 보여 줍니다. 쿼리 와 결합된 az vm get-instance-viewstorageProfile.osDisk.osType 명령은 디스크의 OS 유형을 반환합니다. 명령을 $()로 래핑하면 명령의 반환 값이 osType에 할당됩니다. --query 및 JMESPath 쿼리에 대해 자세히 알아보려면 JMESPath 쿼리를 사용하여 Azure CLI 명령 출력을 쿼리하는 방법을 참조하세요.

다른 명령의 변수에 값을 할당하는 경우 명령에서 호환되는 출력 형식을 사용해야 합니다. 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 group delete 명령을 사용하여 리소스를 제거할 수 있습니다.

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

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

참고 항목