Azure CLI 명령에서 변수를 사용하는 방법
명령에서 직접 값을 지정하는 것 외에도 다음과 같은 여러 가지 방법으로 값을 제공할 수 있습니다.
- 셸 변수 사용
- 여러 명령에서 사용할 구독 설정
- 일부 매개 변수에 대한 기본값 만들기
이 문서에서는 Azure CLI 명령에서 값을 지정하는 다양한 방법을 설명합니다.
필수 조건
Azure Cloud Shell에서 Bash 환경을 사용합니다. 자세한 내용은 Azure Cloud Shell의 Bash에 대한 빠른 시작을 참조하세요.
CLI 참조 명령을 로컬에서 실행하려면 Azure CLI를 설치합니다. Windows 또는 macOS에서 실행 중인 경우 Docker 컨테이너에서 Azure CLI를 실행하는 것이 좋습니다. 자세한 내용은 Docker 컨테이너에서 Azure CLI를 실행하는 방법을 참조하세요.
로컬 설치를 사용하는 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다. 인증 프로세스를 완료하려면 터미널에 표시되는 단계를 수행합니다. 다른 로그인 옵션은 Azure CLI를 사용하여 로그인을 참조하세요.
메시지가 표시되면 처음 사용할 때 Azure CLI 확장을 설치합니다. 확장에 대한 자세한 내용은 Azure CLI에서 확장 사용을 참조하세요.
az version을 실행하여 설치된 버전과 종속 라이브러리를 찾습니다. 최신 버전으로 업그레이드하려면 az upgrade를 실행합니다.
셸 변수 사용
Azure CLI는 셸에서 실행됩니다. 이 문서에서는 Bash를 사용합니다. 다른 스크립팅 언어에 대한 자세한 내용은 올바른 Azure 명령줄 도구 선택을 참조 하세요. 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
이 예제에서는 MyResourceGroup 및 osType처럼 재사용되는 변수에 값을 할당하는 방법을 보여 줍니다. 쿼리 와 결합된 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
이 명령은 그룹 및 그룹에 포함된 모든 리소스를 한 번에 제거합니다.
참고 항목
Azure CLI