Azure Functions 바인딩 확장 등록
Azure Functions 버전 2.x부터 함수 런타임에는 기본적으로 HTTP 및 타이머 트리거만 포함됩니다. 다른 트리거 및 바인딩은 별도의 패키지로 사용할 수 있습니다.
.NET 클래스 라이브러리 함수 앱은 프로젝트에 설치된 바인딩을 NuGet 패키지로 사용합니다. 확장 번들을 사용하면 .NET 함수 앱 이외의 함수 앱에서 .NET 인프라를 처리할 필요 없이 동일한 바인딩을 사용할 수 있습니다.
다음 표는 바인딩을 등록하는 방법과 시기를 나타냅니다.
개발 환경 | 등록 in Functions 1.x |
등록 Functions 2.x 이상에서 |
---|---|---|
Azure Portal | 자동 | 자동 번역* |
Non-.NET 언어 | 자동 | 확장 번들 사용(권장) 또는 명시적으로 확장 설치 |
Visual Studio를 사용하는 C# 클래스 라이브러리 | NuGet 도구 사용 | NuGet 도구 사용 |
Visual Studio Code를 사용하는 C# 클래스 라이브러리 | 해당 없음 | .NET Core CLI 사용 C# 개발 키트 사용 |
* 포털은 C# 스크립트를 포함한 확장 번들을 사용합니다.
확장 번들
기본적으로 확장 번들은 다음 언어의 함수에 대한 바인딩 지원을 제공합니다.
- Java
- JavaScript
- PowerShell
- Python
- C# 스크립트
- 기타(사용자 지정 처리기)
드물게 확장 번들을 사용할 수 없는 경우 함수 앱 프로젝트를 사용하여 바인딩 확장을 명시적으로 설치할 수 있습니다. 확장 번들은 Functions 런타임 버전 2.x 이상 버전에서 지원됩니다.
확장 번들은 미리 정의된 호환 가능한 바인딩 확장 집합을 함수 앱에 추가하는 방법입니다. 확장 번들의 버전이 지정됩니다. 각 버전에는 함께 작동하도록 확인된 특정 바인딩 확장 집합이 포함되어 있습니다. 앱에 필요한 확장에 따라 번들 버전을 선택합니다.
도구 또는 포털에서 .NET이 아닌 Functions 프로젝트를 만들면 앱의 host.json 파일에서 확장 번들이 이미 사용하도록 설정되어 있습니다.
확장 번들 참조는 다음과 같이 host.json의 extensionBundle
섹션에 의해 정의됩니다.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
extensionBundle
에서 사용할 수 있는 속성은 다음과 같습니다.
속성 | 설명 |
---|---|
id |
Microsoft Azure Functions 확장 번들에 대한 네임스페이스입니다. |
version |
설치할 번들의 버전 범위입니다. Functions 런타임은 항상 버전 범위 또는 간격으로 정의된 허용 가능한 최대 버전을 선택합니다. 예를 들어 값 범위는 version [4.0.0, 5.0.0) 4.0.0에서 5.0.0까지의 모든 번들 버전을 허용하지만 5.0.0은 포함하지 않습니다. 자세한 내용은 버전 범위를 지정하기 위한 간격 표기법을 참조하세요. |
다음 표에서는 기본 Microsoft.Azure.Functions.ExtensionBundle 번들의 현재 사용 가능한 버전 범위와 포함된 확장에 대한 링크를 나열합니다.
번들 버전 | host.json의 버전 | 포함된 확장 |
---|---|---|
1.x | [1.*, 2.0.0) |
번들을 생성하는 데 사용되는 extensions.json 참조하세요. |
2.x | [2.*, 3.0.0) |
번들을 생성하는 데 사용되는 extensions.json 참조하세요. |
3.x | [3.3.0, 4.0.0) |
번들을 생성하는 데 사용되는 extensions.json 참조하세요. |
4.x | [4.0.0, 5.0.0) |
번들을 생성하는 데 사용되는 extensions.json 참조하세요. |
참고 항목
host.json 사용자 지정 범위를 version
지원하더라도 이 테이블의 버전 범위 값(예: [4.0.0, 5.0.0)
)을 사용해야 합니다. 각 릴리스의 확장 번들 릴리스 및 확장 버전의 전체 목록은 확장 번들 릴리스 페이지를 참조 하세요.
명시적으로 확장 설치
컴파일된 C# 클래스 라이브러리 프로젝트(in-process 및 격리된 작업자 프로세스)의 경우 일반적으로 필요한 확장에 대한 NuGet 패키지를 설치합니다. 예를 보려면 Visual Studio Code 개발자 가이드 또는 Visual Studio 개발자 가이드를 참조하세요. 호환되는 것으로 확인된 확장 버전의 조합을 검토하려면 확장 번들 릴리스 페이지를 참조하세요.
.NET이 아닌 언어 및 C# 스크립트의 경우 확장 번들을 사용할 수 없는 경우 로컬 프로젝트에 필요한 바인딩 확장을 수동으로 설치해야 합니다. 가장 쉬운 방법은 Azure Functions Core Tools를 사용하는 것입니다. 자세한 내용은 func 확장 설치를 참조하세요.
포털 전용 개발의 경우 함수 앱의 루트에 extensions.csproj 파일을 수동으로 만들어야 합니다. 자세한 내용은 수동으로 확장 설치를 참조하세요.