この記事では、拡張機能バンドルを使用して、関数コードで Azure Functions でサポートされているすべてのトリガーとバインドを使用する方法について説明します。 また、拡張機能バンドルを使用する場合のアプリのさまざまなサポート レベルとポリシーについても説明します。
この記事は、non-.NET 言語を使用する Azure Functions 開発者にのみ適用されます。 バインド拡張機能を C# 関数アプリに直接追加する方法については、「 Azure Functions のバインド拡張機能を登録する」を参照してください。
概要
拡張機能バンドルは、定義済みの互換性のあるバインド拡張機能のセットを関数アプリに追加します。 拡張機能バンドルはバージョン管理されています。 各バージョンには、連携して機能することが確認された特定のバインド拡張機能のセットが含まれています。 アプリで必要な拡張機能のバージョンに基づいてバンドル バージョンを選択します。
non-.NET テンプレートから Azure Functions プロジェクトを作成すると、拡張機能バンドルはアプリの 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 未満までのすべてのバンドル バージョンを指定できます。 詳細については、バージョン範囲を指定する間隔の表記に関する説明を参照してください。 |
サポートされている拡張機能バンドル
次の表に、すべての Microsoft.Azure.Functions.ExtensionBundle
バンドル バージョンと現在の サポート状態を示します。
バンドルのバージョン | host.json でのバージョン | サポート状態 | サポート終了日 |
---|---|---|---|
4.x | [4.0.0, 5.0.0) |
アクティブです | まだ決定されていません |
3.x | [3.3.0, 4.0.0) |
推奨されない | 05/30/2026 |
2.x | [2.*, 3.0.0) |
推奨されない | 05/30/2026 |
1.x | [1.*, 2.0.0) |
推奨されない | 05/30/2026 |
既定の拡張機能バンドルは、バージョン範囲を使用して定義されます。 バンドル バージョンを選択すると、現在のメジャー拡張バンドル バージョンの生成に使用される extensions.json 定義ファイルが表示されます。
詳細については、「 サポート ポリシー」を参照してください。
拡張機能バンドルに関する考慮事項
拡張機能バンドルを使用する場合は、次の考慮事項に注意してください。
- 可能な場合は、カスタム範囲を定義するのではなく、
version
など、このテーブルのhost.json に[4.0.0, 5.0.0)
範囲の値を設定する必要があります。 - 最新バージョンの範囲を使用して、最適なアプリのパフォーマンスと最新の機能へのアクセスを取得します。
- 万が一、拡張機能バンドルを使用できない場合は、代わりに 拡張機能を明示的にインストールする必要があります。
拡張機能バンドルのプレビュー
特定のバインディング拡張機能のプレリリース バージョンは、プレビュー拡張機能バンドルに保持されます。 プレビュー拡張機能バンドル (Microsoft.Azure.Functions.ExtensionBundle.Preview
) を使用すると、GA として宣言する前に、既存の拡張機能のプレビュー拡張機能と新しい動作を利用できます。
GA 以外の拡張機能バンドルの使用を選択する場合は、次の考慮事項に留意してください。
- プレビュー バンドルには、まだ開発中であり、運用環境で使用する準備ができていない機能を含めることができます。 非運用環境での評価とテストを目的としています。
- プレビュー バージョン間で重大な変更が事前に通知されずに発生します。これには、次の変更が含まれる場合があります。
- トリガーとバインドの定義
- プレビューに含まれる拡張機能
- パフォーマンス特性と安定性
- セキュリティ更新プログラムでは、バージョンのアップグレードが必要になる場合があります。
- 非運用環境でプレビュー バンドルを完全にテストし、運用環境でプレビュー バンドルを使用しないようにする必要があります。 運用環境でプレビュー バンドルを使用する必要がある場合は、次の追加の予防措置を講じてください。
- 範囲ではなく、適切にテストされた特定のバンドル バージョンにバンドルをピン留めします。 ピン留めすると、非運用環境で更新プログラムを検証する前に、バンドル バージョンの自動アップグレードを防ぐことができます。
- 完全にサポートされているバンドル リリースで機能が利用可能になるとすぐに、アプリを GA バンドル バージョンを使用するように移行します。
- プレビューから GA への移行など、バンドルの更新に関する最新情報を入手するには、次の手順を実行する必要があります。
- 拡張機能バンドルのリリース ページで、プレビュー バンドルバージョンのリリースを監視します。 - リリース ·Azure/azure-functions-extension-bundles
- 拡張機能固有のリファレンス ドキュメントを監視します。
- 使用している特定のプレビュー拡張機能の NuGet パッケージ バージョンを確認します。
- プレビュー拡張機能ごとに、NuGet.org に発行された変更ログの重要な更新または変更を追跡します。
サポート ポリシー
拡張機能バンドルのメジャー バージョン リリースは、基になるバインディング拡張機能の依存関係に重大な変更や更新がある場合に発生する可能性があります。 Azure SDK で頻繁に導入されるこれらの破壊的変更には、互換性を維持するためにバンドルの更新が必要です。
GA 拡張バンドルのサポート サイクルは、次の個別のフェーズに従います。
フェーズ | 説明 |
---|---|
アクティブです | 拡張機能バンドルの最新のメジャー バージョンはアクティブなバージョンと見なされ、関数アプリに推奨されます。 |
通知 | Microsoft は、拡張機能バンドルまたはバインド拡張機能のバージョンを廃止する前に、詳細な通知を提供します。 このような通知を受け取ったら、関数アプリをサポートされている最新の拡張機能バンドル バージョンにアップグレードする計画を開始する必要があります。 このアップグレードにより、アプリは引き続き新機能、パフォーマンスの向上、サポートにアクセスできるようになります。 |
非推奨 | 新しいメジャー拡張バンドル バージョンが一般公開されると、以前のバージョンは 12 か月の非推奨フェーズに入ります。 この重複期間により、以前のバージョンが廃止される前に、アプリの計画、テスト、アップグレードを行う時間が与わります。 |
提供終了 | 拡張機能バンドルの廃止後、その特定のバージョンを参照する関数アプリは、新機能、セキュリティ パッチ、およびパフォーマンスの最適化の対象になりません。 廃止されたバージョンを使用する関数アプリは、引き続き作成および展開でき、プラットフォームでの実行が許可されます。 ただし、サポートを受ける前に、Functions アプリをサポートされているバンドル バージョンにアップグレードする必要があります。 |
拡張機能バンドルのバージョンと含まれている拡張機能は、 Azure Functions Extension Bundles GitHub リポジトリで確認できます。 個々の .NET パッケージは、 https://nuget.orgにあります。
関連資料
バインド拡張機能の詳細については、 Azure Functions のバインド拡張機能の登録に関するページを参照してください。