Azure CLI를 사용하여 확장 사용 및 관리

Azure CLI는 확장을 로드하는 기능을 제공합니다. Azure CLI용 확장은 CLI의 일부로 제공되지 않지만 CLI 명령으로 실행되는 Python 휠로 특성화됩니다. 확장 기능을 사용하면 자체 CLI 인터페이스를 작성하는 기능과 함께 시험 및 시험판 명령에 액세스할 수 있습니다. 이 문서에서는 확장을 관리하는 방법을 설명하고 해당 사용에 대한 일반적인 질문에 답변합니다.

확장을 찾는 방법

Microsoft에서 제공 및 유지 관리하는 Azure CLI 확장을 참조하려면 az extension list-available 명령을 사용합니다.

az extension list-available --output table

설명서 사이트에 확장 목록도 있습니다.

확장을 설치하는 방법

확장 수동 설치

설치할 확장을 찾은 다음에는 az extension add를 사용하여 가져옵니다. 확장이 az extension list-available에 나열된 경우 해당 이름으로 확장을 설치할 수 있습니다.

az extension add --name <extension-name>

확장이 외부 리소스에 있거나 직접 연결되는 링크가 있는 경우 원본 URL 또는 로컬 경로를 제공할 수 있습니다. 이 확장은 컴파일된 Python 휠 파일이어야 합니다.

az extension add --source <URL-or-path>

또한 index.json의 형식에 따라 프라이빗 확장 인덱스를 빌드한 다음, Azure CLI에서 사용하는 확장 인덱스 URL을 2.20.0 버전부터 여기에 설정할 수 있습니다. 그런 다음, 프라이빗 확장 인덱스에서 이름별로 확장을 설치할 수 있습니다.

az config set extension.index_url=<URL>
az extension add --name <extension-name>

확장이 설치되었으면 $AZURE_EXTENSION_DIR 셸 변수 값에서 이 파일을 찾을 수 있습니다. 이 변수가 설정되어 있지 않으면 기본적으로 Linux 및 macOS에서는 $HOME/.azure/cliextensions, Windows에서는 %USERPROFILE%\.azure\cliextensions입니다.

확장 자동 설치

설치되지 않은 확장 명령을 실행하면 Azure CLI는 실행하는 명령을 인식하고 버전 2.10.0부터 자동으로 확장을 설치할 수 있습니다. 동적 설치라고 하는 이 기능은 2.12.0부터 기본적으로 사용할 수 있습니다. 이전 지원 버전에 대한 구성을 통해 사용하도록 설정할 수도 있습니다.

az config set extension.use_dynamic_install=yes_prompt

프롬프트 없이 동적 설치를 사용하려면 다음 구성 명령을 사용합니다.

az config set extension.use_dynamic_install=yes_without_prompt

다음 구성 명령을 사용하면 동적 설치 기능을 해제하여 기본 동작으로 되돌릴 수 있습니다. 확장이 설치되지 않은 상태에서 확장 명령을 사용하면 command-not-found 오류를 반환합니다.

az config set extension.use_dynamic_install=no

기본적으로 동적 설치를 요청하는 확장 명령은 확장이 설치된 후에도 계속 실행됩니다. run_after_dynamic_install 속성을 no로 설정하고 기본 동작을 변경하고 다시 실행할 필요 없이 명령을 수행할 수 있습니다.

az config set extension.run_after_dynamic_install=no

확장을 업데이트하는 방법

확장이 이름별로 설치된 경우 az 확장 업데이트를 사용하여 업데이트합니다.

az extension update --name <extension-name>

그렇지 않으면 설치 확장 지침에 따라 소스에서 확장을 업데이트할 수 있습니다.

CLI가 확장 이름을 해석할 수 없는 경우 이를 제거하고 다시 설치합니다. 확장은 기본 CLI의 일부가 되었을 수 있습니다. Azure CLI 설치에 설명된 대로 CLI를 업데이트하고 확장 프로그램의 명령이 추가되었는지 확인합니다.

확장을 제거하는 방법

확장이 더 이상 필요하지 않으면 az extension remove를 사용하여 제거합니다.

az extension remove --name <extension-name>

확장을 설치한 위치에서 수동으로 삭제하여 제거할 수도 있습니다. $AZURE_EXTENSION_DIR 셸 변수는 모듈 설치 위치를 정의합니다. 이 변수가 설정되어 있지 않으면 기본적으로 Linux 및 macOS에서는 $HOME/.azure/cliextensions, Windows에서는 %USERPROFILE%\.azure\cliextensions입니다.

rm -rf $AZURE_EXTENSION_DIR/<extension-name>

FAQ

다음은 CLI 확장에 대한 몇 가지 다른 일반적인 질문에 대한 답변입니다.

설치에 사용할 수 있는 파일 형식은 무엇인가요?

현재 컴파일된 Python 휠 파일만 확장으로 설치할 수 있습니다.

확장에서 기존 명령을 바꿀 수 있나요?

예. 확장에서 기존 명령을 바꿀 수 있지만, 바꾼 명령이 실행되기 전에 CLI에서 경고가 발생합니다.

확장이 시험판인지 어떻게 알 수 있나요?

시험판인 경우 확장의 설명서 및 버전 관리가 표시됩니다. Microsoft는 종종 CLI 확장으로 미리보기 명령을 출시하고, 나중에 메인 CLI 제품으로 옮길 수 있는 옵션을 제공합니다. 명령이 확장 외부로 이동되면, 이전 확장을 제거합니다.

확장은 서로 종속될 수 있나요?

아니요. CLI는 로드 순서를 보장하지 않으므로 종속성을 충족하지 않을 수 있습니다. 확장을 제거하는 것은 다른 것에 영향을 주지 않습니다.

확장은 CLI와 함께 업데이트되나요?

아니요. 확장 업데이트에 설명된 대로 확장은 별도로 업데이트해야 합니다.

고유한 확장을 개발하는 방법은 무엇인가요?

자세한 도움말은 Azure/azure-cli-extensions 공식 리포지토리를 참조하세요.