Azure CLI 지속형 매개 변수
Azure CLI az config param-persist 참조는 Azure CLI 명령의 로컬 지속형 매개 변수 값을 유지하는 기능을 제공합니다. 일반적인 매개 변수를 지속적으로 다시 입력하지 않아도 됩니다. 예를 들어 위치 및 리소스 그룹은 여러 CLI 명령에서 필수 매개 변수이지만 명령의 의도 에는 영향을 주지 않습니다. 지속형 매개 변수를 사용하여 매개 변수 값을 저장하면 중복성을 줄이고 CLI 명령 구문을 크게 단축할 수 있습니다.
CLI에서 사용되는 구성 값은 다음 우선 순위에서 평가되며 목록의 상위 항목이 우선 순위를 갖습니다.
- 명령줄 매개 변수
az config param-persist를 통해 설정된 로컬 작업 디렉터리의 값- 환경 변수
- 구성 파일의 값 또는
az config로 사용
이 문서의 스크립트를 실행하려면 Azure CLI를 설치하거나 Azure Cloud Shell을 엽니다. Azure CLI를 로컬에 설치한 경우 az config param-persist 명령을 실행하려면 버전 2.12.0 이상이 필요합니다. az version을 실행하여 설치된 버전과 종속 라이브러리를 찾습니다. 최신 버전으로 업그레이드하려면 az upgrade를 실행합니다. Azure Cloud Shell은 항상 최신 버전의 Azure CLI를 사용합니다.
지속형 매개 변수 데이터 파일
지속형 매개 변수 값은 작업 디렉터리에 저장되는 .param_persist라는 파일에 보관됩니다. Azure Cloud Shell을 사용하여 Azure CLI 명령을 실행하는 경우 작업 디렉터리는 Azure CLI에서 사용 중인 스토리지 계정에 있습니다. Azure CLI를 로컬에 설치하는 경우 작업 디렉터리가 로컬 머신에 있습니다. 어느 위치든 .param_persist 파일은 숨겨져 있으며 수동으로 업데이트하면 안 됩니다.
지속형 매개 변수 스토리지 및 지원
다음은 지속형 매개 변수에서 지원하는 Azure CLI 매개 변수입니다. resource_group_name 및 location 매개 변수는 create 명령을 실행하지 않고 지속형 매개 변수에 추가할 수 있도록 다른 방식으로 저장됩니다.
| 지속형 매개 변수 | 스토리지 작업 | 지원 요소 |
|---|---|---|
| 위치 | 모든 명령 실행 | 모든 Azure CLI 참조 |
| resource_group_name | 모든 명령 실행 | 모든 Azure CLI 참조 |
| vnet_name | create 명령 실행 | Azure Web Apps만 |
| storage_account_name | create 명령 실행 | Azure Web Apps만 |
| webapp_name | create 명령 실행 | Azure Web Apps만 |
| function_app_name | create 명령 실행 | Azure Functions만 |
지속형 매개 변수를 사용하는 샘플 스크립트
지속형 매개 변수를 사용하지 않을 경우 순차적 CLI 명령에서 동일한 매개 변수 값을 반복해야 합니다. 지속형 매개 변수를 사용할 경우 저장된 매개 변수 값을 순차 명령에서 생략할 수 있습니다. 이 예제에서 location, resource group name 또는 storage account name은 후속 명령에서 반복됩니다.
# Reminder: function app and storage account names must be unique.
# turn persisted parameters on
az config param-persist on
# Create a resource group which will store "resource group" and "location" in persisted parameter.
az group create --name RGlocalContext --location westeurope
# Create an Azure storage account omitting location and resource group.
az storage account create \
--name sa1localcontext \
--sku Standard_LRS
# Create a serverless function app in the resource group omitting storage account and resource group.
az functionapp create \
--name FAlocalContext \
--consumption-plan-location westeurope \
--functions-version 2
# See the stored parameter values
az config param-persist show
지속형 매개 변수 및 글로벌 변수 비교
기본 매개 변수 값에 사용할 수 있는 두 가지 Azure CLI 명령으로 az config set defaults 및 az config param-persist가 있습니다. az config set defaults.<option>=<value> 명령을 사용하여 그룹, 위치, 웹 등의 글로벌 변수 를 지정합니다. az param-persist 명령을 사용하여 워크로드의 고유한 로컬 기본값 을 지정합니다. 저장된 값은 CLI에서 필수 인수 대신 사용됩니다.
중요
지속형 매개 변수는 글로벌 컨텍스트 값을 재정의합니다.
| 참조 | Scope | 설정 | 기능 |
|---|---|---|---|
az config set defaults.<option>=<value> |
CLI에서 전역적으로 범위가 지정됨 | az config set defaults.<option>=<value>를 사용하여 명시적으로 설정 |
로깅, 데이터 수집, 기본 인수 값 등의 설정에 사용 |
az config param-persist |
로컬의 특정 작업 디렉터리로 범위가 지정됨 | 지속형 매개 변수가 켜지면 자동으로 설정됨 | 개별 워크로드 순차적 명령에 사용 |
명령 예제
az config param-persist를 사용하여 Azure 스토리지 계정 만들기에 사용되는 글로벌 변수를 설정합니다.
# set the global variable for resource group
az config set defaults.group=myGlobalVariableRG
# Create an Azure storage account omitting the resource group relying on the global variable value
# Substitute the storage account name parameter with a unique value
az storage account create \
--name mystorageaccount1 \
--location westeurope \
--sku Standard_LRS
CLI 명령 출력은 글로벌 변수 'myGlobalVariableRG'에 들어 있는 리소스 그룹에 새 스토리지 계정을 만들었다는 것을 보여줍니다.
...
},
"primaryLocation": "westeurope",
"privateEndpointConnections": [],
"provisioningState": "Succeeded",
"resourceGroup": "myGlobalVariableRG",
"routingPreference": null,
"secondaryEndpoints": null,
"secondaryLocation": null,
"sku": {
"name": "Standard_LRS",
"tier": "Standard"
},
...
az config param-persist를 사용하여 Azure 스토리지 계정 만들기에 사용되는 지속형 매개 변수를 설정합니다. 글로벌 변수가 동일한 개체에 대해 설정된 경우 지속형 매개 변수는 글로벌 변수를 재정의합니다.
# turn persisted parameter on
az config param-persist on
# Create a resource group in order to write to persisted parameter
az group create --name myParamPersistRG --location westeurope
# Create an Azure storage account omitting the resource group relying on the persisted parameter value
# Substitute the storage account name parameter with a unique value
az storage account create \
--name mystorageaccount2 \
--location westeurope \
--sku Standard_LRS
리소스 그룹에 대해 설정된 글로벌 변수 myGlobalVariableRG가 있더라도 지속형 매개 변수가 켜져 있기 때문에 myParamPersistRG를 사용하여 새로운 스토리지 계정을 만들었습니다.
...
},
"primaryLocation": "westeurope",
"privateEndpointConnections": [],
"provisioningState": "Succeeded",
"resourceGroup": "myParamPersistRG",
"routingPreference": null,
"secondaryEndpoints": null,
"secondaryLocation": null,
"sku": {
"name": "Standard_LRS",
"tier": "Standard"
},
...