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 ポータルAzure portal 自動Automatic 自動Automatic
非.NET 言語またはローカルの Azure Core Tools の開発Non-.NET languages or local Azure Core Tools development 自動Automatic Azure Functions Core Tools と拡張機能バンドルを使用するUse Azure Functions Core Tools and extension bundles
Visual Studio を使用する C# クラス ライブラリ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 ランタイム用のローカル開発テクノロジであり、互換性のある一連の Functions バインディング拡張機能を関数アプリ プロジェクトに追加できます。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 が公開しているすべてのバインディングを host.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.

拡張機能のバンドルを使用するには、host.json ファイルを更新して、extensionBundle の次のエントリを含めます。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 Functions 拡張機能バンドルの名前空間。The namespace for Microsoft Azure Functions extension bundles.
version インストールするバンドルのバージョン。The version of the bundle to install. Functions ランタイムは常に、バージョン範囲 (間隔) で定義された最大許容バージョンを選択します。The Functions runtime always picks the maximum permissible version defined by the version range or interval. 上記のバージョン値には、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. メジャー バージョンの変更は、バンドル内のパッケージがメジャー バージョンによって増加するときに発生します。通常、これは、Functions ランタイムのメジャー バージョンの変更と一致しています。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.

既定のバンドルによってインストールされる最新の拡張機能のセットは、この extensions.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 では、次の例に示すように Install-Package コマンドを使用して、Package Manager Console からパッケージをインストールできます。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.

Visual Studio Code を使用する C# クラス ライブラリC# class library with Visual Studio Code

注意

Functions で互換性のある一連のバインディング拡張機能パッケージが自動的にインストールされるようにするには、拡張機能バンドルを使用することをお勧めします。We recommend using extension bundles to have Functions automatically install a compatible set of binding extension packages.

Visual Studio Code では、コマンド プロンプトから .NET Core CLI の dotnet add package コマンドを使用して C# クラス ライブラリ プロジェクトのパッケージをインストールします。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