Azure Functions 바인딩 확장 등록Register Azure Functions binding extensions

Azure Functions 버전 2.x에서 바인딩은 함수 런타임과 별도의 패키지로 사용할 수 있습니다.In Azure Functions version 2.x, bindings are available as separate packages from the functions runtime. .NET 함수는 NuGet 패키지를 통해 바인딩에 액세스 하지만, 확장 번들을 사용 하면 다른 함수에서 구성 설정을 통해 모든 바인딩에 액세스할 수 있습니다.While .NET functions access bindings through NuGet packages, extension bundles allow other functions access to all bindings through a configuration setting.

바인딩 확장과 관련 된 다음 항목을 고려 합니다.Consider the following items related to binding extensions:

다음 표는 바인딩을 등록 하는 시기와 방법을 나타냅니다.The following table indicates when and how you register bindings.

개발 환경Development environment 등록Registration
(Functions 1.x)in Functions 1.x
등록Registration
(Functions 2.x)in Functions 2.x
Azure PortalAzure portal 자동Automatic 자동Automatic
Non-.NET 언어 또는 로컬 Azure 핵심 도구 개발Non-.NET languages or local Azure Core Tools development 자동Automatic Azure Functions Core Tools 및 확장 번들 사용Use Azure Functions Core Tools and extension bundles
C#Visual Studio를 사용 하는 클래스 라이브러리C# class library using Visual Studio NuGet 도구 사용Use NuGet tools NuGet 도구 사용Use NuGet tools
Visual Studio Code를 사용하는 C# 클래스 라이브러리C# class library using Visual Studio Code 해당 사항 없음N/A .NET Core CLI 사용Use .NET Core CLI

로컬 개발용 확장 번들Extension bundles for local development

확장 번들은 함수 앱 프로젝트에 호환 되는 함수 바인딩 확장 집합을 추가할 수 있는 버전 2.x 런타임에 대 한 로컬 개발 기술입니다.Extension bundles is a local development technology for the version 2.x runtime that lets you add a compatible set of Functions binding extensions to your function app project. 이러한 확장 패키지는 Azure에 배포할 때 배포 패키지에 포함 됩니다.These extension packages are then included in the deployment package when you deploy to Azure. 번들을 사용 하면 Microsoft에서 게시 한 모든 바인딩을 호스트 json 파일의 설정을 통해 사용할 수 있습니다.Bundles makes all bindings published by Microsoft available through a setting in the host.json file. 번들에 정의 된 확장 패키지는 서로 호환 되므로 패키지 간의 충돌을 방지할 수 있습니다.Extension packages defined in a bundle are compatible with each other, which helps you avoid conflicts between packages. 로컬로 개발 하는 경우 최신 버전의 Azure Functions Core Tools을 사용 하 고 있는지 확인 합니다.When developing locally, make sure you are using the latest version of Azure Functions Core Tools.

Azure Functions Core Tools 또는 Visual Studio Code를 사용 하 여 모든 로컬 개발에 확장 번들을 사용 합니다.Use extension bundles for all local development using Azure Functions Core Tools or Visual Studio Code.

확장 번들을 사용 하지 않는 경우 바인딩 확장을 설치 하기 전에 로컬 컴퓨터에 .NET Core 2.x SDK를 설치 해야 합니다.If you don't use extension bundles, you must install the .NET Core 2.x SDK on your local computer before you install any binding extensions. 번들은 로컬 개발을 위한 이러한 요구 사항을 제거 합니다.Bundles removes this requirement for local development.

확장 번들을 사용 하려면에 대 한 extensionBundle다음 항목을 포함 하도록 호스트나 json 파일을 업데이트 합니다.To use extension bundles, update the host.json file to include the following entry for extensionBundle:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[1.*, 2.0.0)"
    }
}

에서 extensionBundle사용할 수 있는 속성은 다음과 같습니다.The following properties are available in extensionBundle:

속성Property 설명Description
id Microsoft Azure 함수 확장 번들에 대 한 네임 스페이스입니다.The namespace for Microsoft Azure Functions extension bundles.
version 설치할 번들의 버전입니다.The version of the bundle to install. 함수 런타임은 항상 버전 범위 또는 간격으로 정의 된 허용 가능한 최대 버전을 선택 합니다.The Functions runtime always picks the maximum permissible version defined by the version range or interval. 위의 version 값은 1.0.0의 모든 번들 버전을 2.0.0 포함 하는 것을 허용 하지 않습니다.The version value above allows all bundle versions from 1.0.0 up to but not including 2.0.0. 자세한 내용은 버전 범위 지정을 위한 간격 표기법을 참조 하십시오.For more information, see the interval notation for specifying version ranges.

번들 버전은 번들 변경에서 패키지로 증가 합니다.Bundle versions increment as packages in the bundle change. 주 버전 변경은 번들의 패키지가 주 버전에 따라 증가 하는 경우에 발생 합니다 .이는 일반적으로 함수 런타임의 주 버전 변경 내용과 일치 합니다.Major version changes occur when packages in the bundle increment by a major version, which usually coincides with a change in the major version of the Functions runtime.

기본 번들로 설치 된 확장의 현재 집합은이 확장명 json 파일에 열거 됩니다.The current set of extensions installed by the default bundle are enumerated in this extensions.json file.

Visual# Studio를 사용 하는 C 클래스 라이브러리C# class library with Visual Studio

다음 예제와 같이 Visual Studio에서 패키지 관리자 콘솔을 사용 하 여 패키지 를 설치할 수 있습니다.In Visual Studio, you can install packages from the Package Manager Console using the Install-Package command, as shown in the following example:

Install-Package Microsoft.Azure.WebJobs.Extensions.ServiceBus -Version <TARGET_VERSION>

지정 된 바인딩에 사용 되는 패키지의 이름은 해당 바인딩에 대 한 참조 문서에서 제공 됩니다.The name of the package used for a given binding is provided in the reference article for that binding. 예를 들어 Service Bus 바인딩 참조 문서의 패키지 섹션을 참조하세요.For an example, see the Packages section of the Service Bus binding reference article.

예제의 <TARGET_VERSION>을 패키지의 특정 버전(예: 3.0.0-beta5)으로 바꿉니다.Replace <TARGET_VERSION> in the example with a specific version of the package, such as 3.0.0-beta5. 유효한 버전은 NuGet.org의 개별 패키지 페이지에 나열되어 있습니다. Functions 참조 1.x 또는 2.x에 해당하는 주요 버전은 바인딩에 대한 참조 문서에 지정되어 있습니다.Valid versions are listed on the individual package pages at NuGet.org. The major versions that correspond to Functions runtime 1.x or 2.x are specified in the reference article for the binding.

를 사용 Install-Package 하 여 바인딩을 참조 하는 경우에는 확장 번들을 사용할 필요가 없습니다.If you use Install-Package to reference a binding, you do not need to use extension bundles. 이 방법은 Visual Studio에서 빌드된 클래스 라이브러리에만 적용 됩니다.This approach is specific for class libraries built in Visual Studio.

C# Visual Studio Code를 포함 하는 클래스 라이브러리C# class library with Visual Studio Code

참고

확장 번들 을 사용 하 여 함수에서 호환 되는 바인딩 확장 패키지 집합을 자동으로 설치 하는 것이 좋습니다.We recommend using extension bundles to have Functions automatically install a compatible set of binding extension packages.

Visual Studio Code에서 .NET Core CLI의 C# dotnet add package 명령을 사용 하 여 명령 프롬프트에서 클래스 라이브러리 프로젝트에 대 한 패키지를 설치 합니다.In Visual Studio Code, install packages for a C# class library project from the command prompt using the dotnet add package command in the .NET Core CLI. 다음 예제에서는 바인딩을 추가 하는 방법을 보여 줍니다.The following example demonstrates how you add a binding:

dotnet add package Microsoft.Azure.WebJobs.Extensions.<BINDING_TYPE_NAME> --version <TARGET_VERSION>

.NET Core CLI는 Azure Functions 2.x 개발에만 사용할 수 있습니다.The .NET Core CLI can only be used for Azure Functions 2.x development.

원하는 <BINDING_TYPE_NAME> 바인딩에 대 한 참조 문서에 제공 된 패키지의 이름으로 대체 합니다.Replace <BINDING_TYPE_NAME> with the name of the package provided in the reference article for your desired binding. 지원 되는 바인딩 목록에서 원하는 바인딩 참조 문서를 찾을 수 있습니다.You can find the desired binding reference article in the list of supported bindings.

예제의 <TARGET_VERSION>을 패키지의 특정 버전(예: 3.0.0-beta5)으로 바꿉니다.Replace <TARGET_VERSION> in the example with a specific version of the package, such as 3.0.0-beta5. 유효한 버전은 NuGet.org의 개별 패키지 페이지에 나열되어 있습니다. Functions 참조 1.x 또는 2.x에 해당하는 주요 버전은 바인딩에 대한 참조 문서에 지정되어 있습니다.Valid versions are listed on the individual package pages at NuGet.org. The major versions that correspond to Functions runtime 1.x or 2.x are specified in the reference article for the binding.

다음 단계Next steps