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