Azure Functions CLI는 Azure Functions 위한 로컬 개발 런타임 및 도구의 다음 주 버전(v5)입니다. 이 버전의 func.exe 워크로드 기반 아키텍처를 제공하므로 개발하는 스택에 필요한 항목만 다운로드합니다.
Important
Azure Functions CLI(v5)는 현재 미리 보기로 제공됩니다. 이 미리보기 버전은 아직 Java와 PowerShell을 지원하지 않습니다. 현재 지원되지 않는 언어를 사용하려면 Azure Functions Core Tools v4을 계속 사용하세요.
로컬 Azure Functions 개발에 사용되는 func.exe 두 가지 버전이 있습니다.
| v4 | v5 | |
|---|---|---|
| API 이름 | Azure Functions 핵심 도구 | Azure Functions CLI |
| 지원 수준 | GA(일반 공급) | 미리 보기 |
| 설치 용량 | 모든 네이티브 언어에 대한 모든 명령 및 기능을 포함하는 전체 이진 파일입니다. | 작은 기본 설치와 필요에 따라 추가하는 언어별 워크로드 및 기타 기능. 호스트는 자체 워크로드로 배송되므로 CLI를 다시 다운로드하지 않고 최신 호스트 버전을 가져옵니다. |
| 다음과 같은 경우에 사용... | 모든 개발 워크플로에 대한 전체 GA 지원이 필요합니다. | 로컬 환경을 Azure 호스팅 계획 구성과 동기화된 상태로 유지하는 빠른 시작 템플릿 및 프로필과 같은 새로운 기능을 사용하는 간단한 워크로드 기반 환경을 원합니다. |
명령 참조는 Azure Functions CLI 참조 참조하세요.
언어 스택 지원이 부족하여 현재 예제를 사용할 수 없습니다.
Azure Functions CLI 설치
Azure Functions CLI는 개발하는 스택에 대해 추가하는 워크로드를 더한 작은 기본 설치로 배포됩니다. Microsoft Windows, macOS 및 Linux용 설치 관리자 패키지를 게시합니다. 설치 후 func 바이너리가 PATH에 있습니다.
메모
Azure Functions CLI는 미리 보기 상태이지만 Azure Functions Core Tools 릴리스 페이지 최신 미리 보기 빌드를 설치합니다. 최종 설치 지침은 일반 공급 릴리스와 함께 게시됩니다.
설치 확인:
func --version
기본 CLI를 설치한 후 스택에 대한 워크로드를 설치합니다. 가장 빠른 방법은 func setup호스트, 언어 작업자, 확장 번들(필요한 경우), 스택 워크로드 및 템플릿 워크로드를 한 단계로 설치하는 것입니다.
다음은 그 예입니다.
func setup --features dotnet
func setup --features node
func setup --features python
func setup --features go
를 사용하여 func workload install워크로드를 개별적으로 설치할 수도 있습니다. 어느 쪽이든, 처음 실행할 func initfunc new때 또는 func run 필요한 워크로드가 설치되지 않은 경우 CLI는 설치하라는 메시지를 표시합니다.
Workloads
Azure Functions CLI는 workload 모델 사용합니다. 기본 func 설치는 작고 언어에 구애받지 않습니다. 스택별 도구, Functions 호스트, 언어 작업자, 확장 번들 및 템플릿을 가져오기 위해 요청 시 워크로드 를 설치합니다.
워크로드는 다음 범주로 분류됩니다.
-
Host:
func run사용하는 Azure Functions 호스트 런타임입니다. - Bundles: 미리 빌드된 확장 번들 아티팩트를 사용하여 트리거 및 바인딩이 기본으로 작동합니다(.NET 아닌 스택에 필요).
-
스택: 언어별 프로젝트 도구(예:
python, ,nodedotnet). -
워커: 호스트가 런타임에 사용하는 언어 워커(예:
python-worker,node-worker). -
템플릿:
func new에 의해 표시되는 함수 템플릿(예:python-templates,node-templates).
사용 가능한 워크로드 및 해당 설명의 전체 목록은 CLI 참조에서 사용 가능한 워크로드 를 참조하세요.
첫 실행 환경
func init, func new 또는 func run를 처음 실행하면 CLI는 해당 시나리오에 필요한 워크로드가 설치되어 있는지 확인합니다. 그렇지 않은 경우 CLI는 설치하라는 메시지를 표시합니다. 프롬프트를 수락하면 선택한 스택에 대한 권장 집합이 설치됩니다. 프롬프트를 거부하고 func workload install를 사용하여 워크로드를 수동으로 설치하거나, func setup를 실행하여 표준 워크로드 세트를 비대화형으로 프로비저닝할 수 있습니다.
워크로드 업데이트
주기적으로 실행 func workload search 하여 새로 사용 가능한 워크로드를 확인합니다. 지원되지 않는 스택 또는 핵심 도구의 특정 GA 기능이 필요한 경우 코어 도구(v4) 를 계속 사용합니다.
로컬 프로젝트 만들기
새 Functions 프로젝트를 만들려면 명령을 사용합니다 func init .
func init MyProjFolder --stack dotnet
func init MyProjFolder --stack node --language javascript
func init MyProjFolder --stack node --language typescript
func init MyProjFolder --stack python
func init MyProjFolder --stack go
이 --stack 옵션은 사용할 언어 스택을 지정합니다. 해당 스택용으로 설치된 워크로드가 스캐폴딩을 제공합니다.
함수 만들기
템플릿에서 함수를 추가하려면 명령을 사용합니다 func new .
func new --template "HTTP trigger" --name MyHttpTrigger
로컬로 함수 실행
Functions 호스트를 시작하고 프로젝트를 실행하려면 다음을 사용합니다 func run.
func run
func start 는 이전 버전과 호환되는 별칭으로 유지됩니다. 전달 --no-azurite하지 않는 한 호스트는 Azurite(로컬 스토리지 에뮬레이터)를 자동으로 관리합니다.
빠른 시작 템플릿에서 스캐폴드
전체 샘플 앱(HTTP API, 큐 작업자, 지속성 함수 오케스트레이션)을 찾아보고 스캐폴드하려면 func quickstart을 사용합니다.
func quickstart --stack dotnet --resource http
func quickstart --stack node --resource http
func quickstart --stack python --resource http
func quickstart --stack go --resource http
워크로드 관리
워크로드를 설치, 업데이트 및 제거하는 데 사용합니다 func workload . 하위 명령 및 옵션의 전체 목록은 CLI 참조를 참조 func workload 하세요.
Profiles
프로필은 호스트, 확장 번들 및 작업자에 대한 버전 제약 조건을 인코딩합니다. 를 사용하여 func run --profile <name>런타임에 프로필을 적용합니다. 하위 명령 및 옵션의 전체 목록은 CLI 참조를 참조 func profile 하세요.