events
5月19日 18時 - 5月23日 0時
Calling all developers, creators, and AI innovators to join us in Seattle @Microsoft Build May 19-22.
Register todayこのブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
現在、Azure Functions は、2 つのバージョンのランタイム ホストをサポートしています。 次の表は、現在サポートされているランタイム バージョン、サポート レベル、使うべきタイミングについての詳細を示しています。
Version | サポート レベル | 説明 |
---|---|---|
4.x | GA | すべての言語の関数に推奨されるランタイム バージョン。サポートされている言語のバージョンを確認してください。 |
1.x | GA (2026 年 9 月 14 日にサポートが終了します) | .NET Framework を使用する必要がある C# アプリでのみサポートされます。 このバージョンはメンテナンス モードになっており、拡張機能は以降のバージョンでのみ提供されます。 バージョン 1.x のサポートは 2026 年 9 月 14 日に終了します。 .NET Framework 4.8、.NET 8、.NET 9 をサポートしているバージョン 4.x にアプリを移行することを強くお勧めします。 |
重要
2022 年 12 月 13 日より、Azure Functions ランタイムのバージョン 2.x と 3.x で実行されている関数アプリでは、延長サポートは終了しています。 詳細については、廃止されたバージョンに関する記事を参照してください。
この記事では、サポートされているバージョン間のいくつかの相違点、各バージョンの作成方法、関数が実行されるバージョンの変更方法について詳細に説明します。
次の 2 つのレベルのサポートがあります。
関数アプリ内のすべての関数は、同じ言語を共有する必要があります。 アプリを作成するときに、関数アプリで関数の言語を選びます。 関数アプリの言語は FUNCTIONS_WORKER_RUNTIME 設定に保持され、既存の関数がある場合は変更できません。
記事の冒頭で、使用する開発言語を必ず選択してください。
次の表は、Azure Functions によってサポートされている .NET バージョンを示しています。
サポートされる .NET のバージョンは、Functions のランタイムのバージョンと、選択した実行モデルの両方に依存します。
重要
インプロセス モデルのサポートは 2026 年 11 月 10 日に終了します。 完全なサポートのために、分離ワーカー モデルにアプリを移行することを強くお勧めします。
関数コードは、Functions ホスト プロセスと同じプロセスで実行されます。 .NET の長期サポート (LTS) バージョンのみをサポートします。 詳細については、.NET クラス ライブラリ関数の開発に関する記事を参照してください。
サポートされているバージョン | サポート レベル | コミュニティのサポート終了予定日 |
---|---|---|
.NET 8 (LTS) | GA | 2026 年 11 月 10 日 |
.NET 6 は、以前はインプロセス モデルでサポートされていましたが、2024 年 11 月 12 日に公式サポートが終了しました。
詳細については、「Azure Functions を使用する C# クラス ライブラリ関数を開発する」を参照してください。 C# スクリプト関数もサポートされています。
次の表は、Java 関数でサポートされている言語のバージョンを示しています。
サポートされているバージョン | サポート レベル | サポート期限 |
---|---|---|
Java 21 (Linux のみ) | プレビュー | 「リリースとサービスのロードマップ」を参照してください。 |
Java 17 | GA | 「リリースとサービスのロードマップ」を参照してください。 |
Java 11 | GA | 「リリースとサービスのロードマップ」を参照してください。 |
Java 8 | GA | こちらの Temurin サポート ページを参照してください。 |
Java 関数の開発と実行の詳細については、「Azure Functions の Java 開発者向けガイド」を参照してください。
次の表は、Node.js 関数でサポートされている言語のバージョンを示しています。
サポートされているバージョン | サポート レベル | コミュニティのサポート終了予定日 |
---|---|---|
Node.js 22 | プレビュー | 2027 年 4 月 30 日 |
Node.js 20 | GA | 2026 年 4 月 30 日 |
Node.js 18 | GA | 2025 年 4 月 30 日 |
TypeScript は JavaScript へのトランスパイリングによってサポートされます。 詳細については、「Azure Functions の Node.js 開発者向けガイド」を参照してください。
次の表は、PowerShell 関数でサポートされている言語のバージョンを示しています。
サポートされているバージョン | サポート レベル | コミュニティのサポート終了予定日 |
---|---|---|
PowerShell 7.4 | GA | 2026 年 11 月 10 日 |
PowerShell 7.2 | GA | 2024 年 11 月 8 日 |
詳細については、Azure Functions PowerShell 開発者向けガイドを参照してください。
次の表は、Python 関数でサポートされている言語のバージョンを示しています。
サポートされているバージョン | サポート レベル | コミュニティのサポート終了予定日 |
---|---|---|
Python 3.11 | GA | 2027 年 10 月 |
Python 3.10 | GA | 2026 年 10 月 |
Python 3.9 | GA | 2025 年 10 月 |
Python 3.8 | GA | 2024 年 10 月 |
詳細については、Azure Functions Python 開発者向けガイドを参照してください。
言語サポートの計画的な変更については、「Azure ロードマップ」を参照してください。
以前にサポートされていたバージョンの Functions ランタイムの言語バージョンについては、「廃止されたランタイム バージョン」を参照してください。
Azure の公開アプリから使用される Functions ランタイムのバージョンは、FUNCTIONS_EXTENSION_VERSION
アプリケーションの設定によって決まります。 場合によっては、特定の言語に対して、他の設定が適用される場合があります。
既定では、Azure portal で Azure CLI または Visual Studio ツールによって作成された関数アプリはバージョン 4.x に設定されます。 このバージョンは必要に応じて変更できます。 ランタイムのバージョンを 1.x にダウングレードできるのは、関数アプリを作成してから関数を追加するまでの間のみです。 より新しいメジャー バージョンへの更新は、既存の関数が含まれているアプリでも許可されます。
アプリに既存の関数があるときは、以降のメジャー ランタイム バージョンに移行する前に予防措置を講じる必要があります。 次の記事では、言語固有の破壊的変更などの、メジャー バージョン間の破壊的変更について詳しく説明します。 既存の関数アプリを正常に移行するための段階的な手順も提供されます。
次のランタイムのメジャー バージョン値が使用されています。
値 | ランタイム ターゲット |
---|---|
~4 |
4.x |
~1 |
1.x |
重要
他のアプリ設定の変更や関数のコード変更が必要になる可能性があるため、このアプリ設定を任意に変更しないでください。 既存の関数アプリについては、移行の手順に従います。
最新のメジャー バージョンで実行されているときに関数アプリで生じることがある問題を解決するには、アプリを特定のマイナー バージョンに一時的に固定する必要があります。 固定により、最新のメジャー バージョンでアプリが正しく実行されるようになります。 マイナー バージョンに固定する方法は、Windows と Linux で異なります。 詳細については、「Azure Functions ランタイム バージョンをターゲットにする方法」を参照してください。
古いマイナー バージョンは、定期的に Functions から削除されます。 特定の古いマイナー バージョンの削除などの、Azure Functions リリースに関する最新のニュースについては、Azure App Service のお知らせをモニターしてください。
バインディング拡張機能のバージョンと Functions ランタイムのバージョンの間に、技術的な相関関係はありません。 ただし、バージョン 4.x 以降、Functions ランタイムは、すべてのトリガーおよびバインディング拡張機能の最小バージョンを強制します。
パッケージが最低限必要なバージョンを満たしていないという警告が表示される場合は、その NuGet パッケージを、通常行うように最小バージョンに更新する必要があります。 Functions v4.x で使用される拡張機能の最小バージョン要件については、リンクされた構成ファイルをご覧ください。
C# スクリプトの場合、host.json 内の拡張機能バンドル参照を次のように更新してください。
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
拡張機能バンドルのバージョンと Functions ランタイムのバージョンの間に、技術的な相関関係はありません。 ただし、バージョン 4.x 以降、Functions ランタイムは、拡張機能バンドルの最小バージョンを強制します。
拡張機能バンドルのバージョンが最低限必要なバージョンを満たしていないという警告が表示される場合は、host.json 内の既存の拡張機能バンドル参照を次のように更新してください。
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
拡張機能バンドルの詳細については、「拡張機能バンドル」を参照してください。
重要
Azure Functions Runtime のバージョン 1.x のサポートは 2026 年 9 月 14 日に終了します。 完全なサポートのために、アプリをバージョン 4.x に移行することを強くお勧めします。
これらのバージョンの Functions ランタイムは、2022 年 12 月 13 日に延長サポート終了に達しました。
バージョン | 現在のサポート レベル | 以前のサポート レベル |
---|---|---|
3.x | サポート対象外 | GA |
2.x | サポート対象外 | GA |
完全なサポートを受けるには、できるだけ早く、アプリをバージョン 4.x に移行する必要があります。 言語固有の移行手順の完全なセットについては、Azure Functions バージョン 4.x へのアプリの移行に関する記事を参照してください。
バージョン 2.x と 3.x を使用しているアプリは、引き続き CI/CD DevOps パイプラインから関数アプリを作成してデプロイすることができ、既存のアプリはすべて破壊的変更を生じさせることなく引き続き実行されます。 ただし、アプリは、新機能、セキュリティ パッチ、パフォーマンス最適化の対象にはなりません。 関連するサービス サポートは、アプリをバージョン 4.x にアップグレードした後にのみ受けることができます。
バージョン 2.x および 3.x のサポートが終了するのは、コア依存関係として使用されていた .NET Core 3.1 のサポートが終了するためです。 この要件は、Azure Functions でサポートされている言語すべてに影響します。
関数アプリを次のように更新し、ターゲット バージョンをローカルで変更できます。
Visual Studio では、プロジェクトを作成するときにランタイムのバージョンを選択します。 Visual Studio 用の Azure Functions ツールは、ランタイムの 2 つのメジャー バージョンをサポートしています。 デバッグ時と公開時には、プロジェクトの設定に基づいて正しいバージョンが使用されます。 バージョン設定は、.csproj
ファイルの次のプロパティで定義されています。
<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
分離ワーカー モデルを使用している場合は、ターゲット フレームワークとして net8.0
、net6.0
、または net48
を選択できます。
net9.0
にプレビュー サポートを使用することもできます。
インプロセス モデルを使用している場合は、net8.0
または net6.0
を選択でき、Microsoft.NET.Sdk.Functions
拡張機能を少なくとも 4.4.0
に設定する必要があります。
.NET 7 は、以前は分離ワーカー モデルでサポートされていましたが、2024 年 5 月 14 日に公式サポートが終了しました。
Azure Functions Core Tools は、コマンドラインの開発に使用されます。また、Visual Studio Code 用の Azure Functions 拡張機能からも使用されます。 詳細については、「Azure Functions Core Tools のインストール」を参照してください。
Visual Studio Code の開発の場合は、必要に応じてインストールされているツールのバージョンと一致するように azureFunctions.projectRuntime
のユーザー設定を更新します。 この設定で、関数アプリの作成時に使用されるテンプレートと言語も更新されます。
バージョン 2.x から、ランタイムでは、次の利点を提供する新しいバインド拡張モデルが使用されています。
サード パーティのバインド拡張のサポート。
ランタイムとバインドの分離。 この変更により、バインド拡張を個別にバージョン管理したり、解放したりできます。 たとえば、基になる SDK の新しいバージョンに依存する拡張のバージョンにアップグレードするよう選択できます。
より軽量な実行環境。ここでは、使用中のバインドのみがランタイムによって識別され、読み込まれます。
HTTP とタイマーのトリガーを除き、すべてのバインドを関数アプリ プロジェクトに明示的に追加するか、ポータルで登録する必要があります。 詳細については、「バインディング拡張機能を登録する」を参照してください。
各ランタイム バージョンでサポートされるバインドを次の表に示します。
この表は、Azure Functions のメジャー バージョンのランタイムでサポートされているバインディングを示しています。
Type | 1.x1 | 2.x 以降2 | トリガー | 入力 | 出力 |
---|---|---|---|---|---|
Blob Storage | ✔ | ✔ | ✔ | ✔ | ✔ |
Azure Cosmos DB | ✔ | ✔ | ✔ | ✔ | ✔ |
Azure Data Explorer | ✔ | ✔ | ✔ | ||
Azure SQL | ✔ | ✔ | ✔ | ✔ | |
Dapr4 | ✔ | ✔ | ✔ | ✔ | |
Event Grid | ✔ | ✔ | ✔ | ✔ | |
Event Hubs | ✔ | ✔ | ✔ | ✔ | |
HTTP と Webhook | ✔ | ✔ | ✔ | ✔ | |
IoT Hub | ✔ | ✔ | ✔ | ||
Kafka3 | ✔ | ✔ | ✔ | ||
Mobile Apps | ✔ | ✔ | ✔ | ||
Notification Hubs | ✔ | ✔ | |||
Queue Storage | ✔ | ✔ | ✔ | ✔ | |
Redis | ✔ | ✔ | ✔ | ✔ | |
RabbitMQ3 | ✔ | ✔ | ✔ | ||
SendGrid | ✔ | ✔ | ✔ | ||
Service Bus | ✔ | ✔ | ✔ | ✔ | |
SignalR | ✔ | ✔ | ✔ | ✔ | |
Table Storage | ✔ | ✔ | ✔ | ✔ | |
Timer | ✔ | ✔ | ✔ | ||
Twilio | ✔ | ✔ | ✔ |
注:
関数アプリ内の関数のタイムアウト期間は、host.json プロジェクト ファイルの functionTimeout
プロパティによって定義されます。 このプロパティは、関数の実行に特に適用されます。 トリガーによって関数の実行が開始された後、関数はタイムアウト期間内に戻るか応答する必要があります。 タイムアウトを回避するには、堅牢な関数を作成することが重要です。 詳細については、「Azure Functions のパフォーマンスと信頼性を向上させる」を参照してください。
次の表は、特定のプランの既定値と最大値 (分) を示しています。
プラン | Default | 最大1 |
---|---|---|
Flex 従量課金プラン | 30 | 無制限2 |
Premium プラン | 304 | 無制限2 |
専用プラン | 304 | 無制限3 |
コンテナー アプリ | 30 | 無制限5 |
従量課金プラン | 5 | 10 |
詳細については、次のリソースを参照してください。
events
5月19日 18時 - 5月23日 0時
Calling all developers, creators, and AI innovators to join us in Seattle @Microsoft Build May 19-22.
Register todayトレーニング
ラーニング パス
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
認定資格
Microsoft Certified: Azure Developer Associate - Certifications
Azure Functions の作成、Web アプリの実装と管理、Azure ストレージを利用したソリューションの開発などを行うために、Microsoft Azure でエンド ツー エンドのソリューションを構築します。