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

다음 구성 명령을 사용하면 동적 설치 기능을 해제하여 기본 동작으로 되돌릴 수 있습니다. 확장이 설치되지 않은 경우 확장 명령은 찾을 수 없는 명령을 반환합니다.

az config set extension.use_dynamic_install=no

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

az config set extension.run_after_dynamic_install=no

확장을 업데이트하는 방법

이름으로 확장을 설치하는 경우 az extension update를 사용하여 업데이트합니다.

az extension update --name <extension-name>

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

CLI를 사용하여 확장 이름을 resolve 수 없는 경우 제거한 후 다시 설치합니다. 확장은 기본 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 공식 리포지토리를 참조하세요.