Azure Functions ランタイムは、HTTP トリガーとタイマー トリガーをネイティブに実行します。 サポートされている他の トリガーとバインド の動作は、個別の拡張パッケージに実装されます。
.NET クラス ライブラリを使用するプロジェクトでは、NuGet パッケージとしてプロジェクトにインストールされているバインド拡張機能が使用されます。
拡張機能バンドルを使用すると、non-.NET アプリは.NET インフラストラクチャと対話することなく、バインド拡張機能を使用できます。
Extension bundles
拡張機能バンドルは、定義済みの互換性のあるバインド拡張機能のセットを関数アプリに追加します。 拡張機能バンドルはバージョン管理されています。 各バージョンには、連携して機能することが確認された特定のバインド拡張機能のセットが含まれています。 バンドルのバージョンは、アプリで必要な拡張機能に基づいて選択します。
non-.NET テンプレートから Azure Functions プロジェクトを作成すると、拡張機能バンドルはアプリの host.json
ファイルで既に有効になっています。
可能であれば、最新バージョンの範囲を使用して、最適なアプリのパフォーマンスと最新の機能へのアクセスを取得します。 拡張機能バンドルの詳細については、 Azure Functions 拡張機能バンドルに関するページを参照してください。
万が一拡張機能バンドルを使用できない場合は、代わりに拡張機能を明示的にインストールする必要があります。
拡張機能を明示的にインストールする
コンパイル済みの C# クラス ライブラリを使用するプロジェクトの場合は、アプリで通常と同様に、必要な拡張機能の NuGet パッケージをインストールします。 詳細については、 Visual Studio Code 開発者ガイド または Visual Studio 開発者ガイドを参照してください。
名前空間は実行モデルによって異なるため、必ず正しいパッケージを取得してください。
Execution model | Namespace |
---|---|
分離ワーカー プロセス | Microsoft.Azure.Functions.Worker.Extensions.* |
In-process | Microsoft.Azure.WebJobs.Extensions.* |
Azure Functions には、non-.NET プロジェクト用の拡張機能バンドルが用意されています。 これらのバンドルには、互換性があることを確認するバインド拡張機能の完全なセットが含まれています。 2 つ以上のバインド拡張機能間で互換性の問題が発生している場合は、互換性のある拡張機能バージョンの組み合わせを確認してください。 サポートされているバインディング拡張機能の組み合わせについては、拡張機能 バンドルのリリース ページを参照してください。
特定の拡張機能の特定のプレリリース バージョンを使用する必要がある場合など、拡張機能バンドルを使用できない場合があります。 このようなまれなケースでは、アプリに必要な特定の拡張機能を参照する C# プロジェクト ファイルに、必要なバインド拡張機能を手動でインストールする必要があります。
バインド拡張機能を手動でインストールするには:
host.json
ファイルから拡張バンドル参照を削除します。Azure Functions Core Tools の
func extensions install
コマンドを使用して、ローカル プロジェクトのルートに必要なextensions.csproj
ファイルを生成します。ポータルのみの開発では、Azure の関数アプリのルートに
extensions.csproj
ファイルを手動で作成する必要があります。 詳細については、「拡張機能を手動でインストールする」を参照してください。アプリに必要なすべての特定のバインド拡張機能とバージョンに対して
extensions.csproj
要素を明示的に追加して、PackageReference
ファイルを編集します。アプリの機能をローカルで検証し、
extensions.csproj
を含むプロジェクトを Azure の関数アプリに再デプロイします。
できるだけ早く、 サポートされている最新の拡張機能バンドルを使用するようにアプリを切り替える必要があります。