자습서: 지속형 매개 변수를 사용하여 순차적 Azure CLI 명령 단순화

Azure CLI는 지속적으로 사용할 수 있도록 매개 변수 값을 저장할 수 있는 지속형 매개 변수를 제공합니다. 이 자습서에서는 지속형 값을 작업하는 방법과 이러한 로컬 값을 사용하여 순차적 명령을 효율적으로 실행하는 방법을 알아봅니다.

이 자습서에서 다음에 대해 알아봅니다.

  • az config param-persist 참조 명령 사용
  • 지속형 매개 변수를 사용하여 순차적 명령 실행

이 자습서에서는 다음 Azure CLI 명령을 사용합니다.

Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.

사전 요구 사항

  1. Azure CLI 설치

    원한다면 Azure Cloud Shell을 사용하여 이 자습서의 단계를 완료해도 됩니다. Azure Cloud Shell은 브라우저를 통해 사용할 수 있는 대화형 셸 환경입니다. 다음 방법 중 하나를 사용하여 Cloud Shell을 시작합니다.

  2. Azure CLI를 로컬로 설치한 경우 다음을 완료합니다.

    • az login 명령을 사용하여 로그인한 다음, 터미널에 표시된 단계에 따라 인증 프로세스를 완료합니다.

      az login
      
    • 이 자습서에는 Azure CLI 버전 2.12.0 이상이 필요합니다. az version을 실행하여 설치된 버전과 종속 라이브러리를 찾습니다. 최신 버전으로 업그레이드하려면 az upgrade를 실행합니다.

1. 로컬 디렉터리 확인

지속형 매개 변수 값은 Azure Cloud Shell에서 사용하는 Azure 스토리지 계정의 작업 디렉터리에 저장됩니다. Azure CLI를 로컬에 설치한 경우 머신의 작업 디렉터리에 값이 저장됩니다.

Azure CLI에서 사용하는 작업 디렉터리를 찾거나 만들거나 변경하려면 다음과 같은 익숙한 CLI 명령을 사용합니다.

# List directories
dir

# Make directory
mkdir azCLI

# Change directory
cd azCLI

2. 지속형 매개 변수 켜기

매개 변수 값을 저장하려면 먼저 지속형 매개 변수를 켜야 합니다. az config param-persist가 실험적 단계를 벗어나기 전까지 경고가 표시됩니다. 개요: Azure CLI 참조 형식 및 상태를 참조하여 Azure CLI 참조 형식, 상태 및 지원 수준에 대해 알아보세요.

az config param-persist on

3. 지속형 매개 변수 만들기

지속형 매개 변수의 값을 저장하려면 저장하려는 매개 변수가 들어 있는 Azure CLI 명령을 실행합니다. 예를 들어 리소스 그룹을 만들면 나중에 사용할 수 있도록 --location--name 매개 변수가 저장됩니다.

  1. 위치 및 리소스 그룹 이름을 저장합니다.

    # With persisted parameters turned on, create a resource group
    az group create --name RG1forTutorial --location eastus2
    
    # See new persisted parameters
    az config param-persist show
    
    {
      "all": {
        "location": "eastus2",
        "resource_group_name": "RG1forTutorial"
      }
    }
    
  2. 새 지속형 매개 변수를 사용하여 스토리지 계정을 만듭니다.

    # Create a storage account
    az storage account create --name sa1fortutorial
    
    # See that storage_account_name has been added to persisted parameters
    az config param-persist show
    
    {
      "all": {
        "location": "eastus2",
        "resource_group_name": "RG1forTutorial",
        "storage_account_name": "sa1fortutorial"
      }
    }
    
  3. 새 리소스를 만들지 않고 지속형 매개 변수를 만듭니다.

    새 Azure 리소스를 만들지 않으려면 show 또는 list 같은 비-create 명령을 사용하여 resource_group_namelocation 매개 변수를 저장하면 됩니다. 지원되는 전체 매개 변수 목록과 값을 유지하는 데 필요한 작업은 Azure CLI 지속형 매개 변수를 참조하세요. 또한 이 예제에서는 az config param-persist delete 명령을 사용하여 모든 매개 변수 값을 제거합니다.

    # Clear all persisted parameters for demonstration.
    az config param-persist delete --all
    
    # List all storage accounts which will create the `resource_group_name` stored parameter value.
    az storage account show --resource-group RG1forTutorial --name sa1fortutorial
    
    # See the new stored value created for resource group.  The storage account name is only stored with a 'create' command.
    az config param-persist show
    
    {
      "all": {
        "resource_group_name": "RG1forTutorial"
      }
    }
    

4. 지속형 매개 변수 바꾸기

저장된 매개 변수 값을 바꾸는 방법은 간단합니다. 다른 값을 포함하는 명령을 실행하면 됩니다.

  1. 새 지속형 매개 변수를 만듭니다.

    # Clear all persisted parameters for demonstration
    az config param-persist delete --all
    
    # Create a storage account placing "location", "resource_group_name", and "storage_account_name" into persisted parameters
    az storage account create --name sa1fortutorial --resource-group RG1forTutorial --location eastus2
    
    # See persisted parameters entries
    az config param-persist show
    
    {
      "all": {
        "location": "eastus2",
        "resource_group_name": "RG1forTutorial",
        "storage_account_name": "sa1fortutorial"
      }
    }
    
  2. 새로 저장된 값을 바꿉니다.

    # Create a second storage account while changing both the "storage_account_name" and "location" persisted parameters
    az storage account create --name sa2fortutorial --location westeurope
    
    # See new persisted parameters
    az config param-persist show
    
    {
      "all": {
        "location": "westeurope",
        "resource_group_name": "RG1forTutorial",
        "storage_account_name": "sa2fortutorial"
      }
    }
    

    참고

    지속형 매개 변수가 켜져 있더라도 지속형 매개 변수를 사용할 필요가 없습니다. 모든 매개 변수 값이 지정된 상태에서도 여전히 명령을 실행할 수 있습니다. 그러나 지속형 매개 변수가 켜져 있으면 새 지속형 매개 변수가 생성되거나 기존의 지속형 매개 변수를 덮어쓰게 됩니다.

5. 순차 명령 실행

다음 스크립트는 소비 계획을 사용하는 Azure 함수 앱을 만듭니다.

# Reminder: function app and storage account names must be unique.

# Turn persisted parameters on.
az config param-persist on

# Create a resource group.
az group create --name RG2forTutorial --location westeurope

# Create an Azure storage account in the resource group omitting "--location" and "--resource-group" parameters.
az storage account create \
  --name sa3fortutorial \
  --sku Standard_LRS

# Create a serverless function app in the resource group omitting "--storage-account" and "--resource-group" parameters.
az functionapp create \
  --name FAforTutorial \
  --consumption-plan-location westeurope \
  --functions-version 2

# See the stored parameter values.
az config param-persist show

6. 지속형 매개 변수 삭제

az config param-persist delete 명령을 사용하여 항목을 제거합니다.

# Remove a single persisted parameters entry by specifying the name, not the value
az config param-persist delete resource_group_name

# Remove all persisted parameters entries and do not prompt for confirmation
az config param-persist delete --all --yes

중요

지속형 매개 변수는 Azure 리소스가 삭제될 때 업데이트되지 않습니다.

# delete a resource group
az group delete --name RG1forTutorial

# verify that the resource group no longer exists
az group list --output table

# See that the resource group name remains in persisted parameters
az config param-persist show

7. 지속형 매개 변수 끄기

az config param-persist off 명령을 사용하여 지속형 매개 변수를 끌 수 있지만, 저장된 지속형 매개 변수 데이터는 삭제되지 않습니다.

# Turn persisted parameters off
az config param-persist off

# See that your persisted parameters still exist
az config param-persist show

# Try to create a new resource relying on persisted parameters and receive error "...the following arguments are required:..."
az storage account create --name SA4inAzCLI --sku Standard_LRS

8. 리소스 정리

더 이상 필요하지 않은 경우 az group delete 명령을 사용하여 리소스 그룹 및 모든 관련 리소스를 제거할 수 있습니다.

az group delete --name RG1forTutorial

추가 정보