Azure Functions でサポートされている言語
この記事では、Azure Functions を使うときに、ご利用の言語に対して提供されるサポート レベルについて説明します。 また、ネイティブでサポートされていない言語を使用して関数を作成する方法についても説明します。
次の 2 つのレベルのサポートがあります。
- 一般公開 (GA) - 完全にサポートされ、運用環境用に承認されています。
- プレビュー - まだサポートされていませんが、今後 GA 状態に達すると想定されています。
言語 (ランタイム バージョン別)
次の表は、C# 関数でサポートされているランタイムと言語のバージョンを示しています。 記事の冒頭で、ご利用の開発言語を選んでください。
.NET のサポートされるバージョンは、お使いの Functions ランタイムのバージョンと、選んだ .NET ワーカー プロセス モデルの両方によって変わります。
関数コードは、別の .NET ワーカー プロセスで実行されます。 .NET と .NET Framework のサポートされているバージョンで使います。 詳細については、.NET 分離ワーカー プロセス関数の開発に関する記事を参照してください。
サポートされているバージョン | サポート レベル 1 | コミュニティのサポート終了予定日 |
---|---|---|
.NET 8 | GA | ポリシーを参照 |
.NET 7 | GA | 2024 年 5 月 14 日 |
.NET 6 | GA | 2024 年 11 月 12 日 |
.NET Framework 4.8 | GA | ポリシーを参照 |
詳細については、「分離されたワーカー プロセスにおける C# Azure Functions の実行のガイド」をご覧ください。
次の表は、Java 関数でサポートされている言語のバージョンを示しています。 記事の冒頭で、ご利用の開発言語を選んでください。
サポートされているバージョン | サポート レベル | コミュニティのサポート終了予定日 |
---|---|---|
Java 17 | GA | 2027 年 9 月 |
Java 11 | GA | 2027 年 9 月 |
Java 8 | GA | 2026 年 11 月 30 日 |
詳細については、「Azure Functions の Java 開発者向けガイド」を参照してください。
次の表は、Node.js 関数でサポートされている言語のバージョンを示しています。 記事の冒頭で、ご利用の開発言語を選んでください。
サポートされているバージョン | サポート レベル | コミュニティのサポート終了予定日 |
---|---|---|
Node.js 20 | プレビュー | 2026 年 4 月 30 日 |
Node.js 18 | GA | 2025 年 4 月 |
Node.js 16 | GA | 2023 年 9 月 11 日* |
Node.js 14 | GA | 2023 年 4 月 30 日* |
*Functions のサポートは 2024 年 6 月 30 日まで延長されました。
TypeScript は JavaScript へのトランスパイリングによってサポートされます。 詳細については、「Azure Functions の Node.js 開発者向けガイド」を参照してください。
次の表は、PowerShell 関数でサポートされている言語のバージョンを示しています。 記事の冒頭で、ご利用の開発言語を選んでください。
サポートされているバージョン | サポート レベル | コミュニティのサポート終了予定日 |
---|---|---|
PowerShell 7.2 | GA | 2024 年 11 月 8 日 |
詳細については、Azure Functions PowerShell 開発者向けガイドを参照してください。
次の表は、Python 関数でサポートされている言語のバージョンを示しています。 記事の冒頭で、ご利用の開発言語を選んでください。
サポートされているバージョン | サポート レベル | コミュニティのサポート終了予定日 |
---|---|---|
Python 3.11 | GA | 該当なし |
Python 3.10 | GA | 2026 年 10 月 |
Python 3.9 | GA | 2025 年 10 月 |
Python 3.8 | GA | 2024 年 10 月 |
Python 3.7 | GA | 2023 年 6 月 27 日* |
*Functions のサポートは 2023 年 9 月 30 日まで延長されました。
詳細については、Azure Functions Python 開発者向けガイドを参照してください。
言語サポートの計画的な変更については、「Azure ロードマップ」を参照してください。
言語サポートの詳細
次の表は、Functions でサポートされているどの言語を、Linux または Windows で実行できるかを示しています。 また、お使いの言語で Azure portal での編集がサポートされているかどうかも示しています。 言語は、Azure portal で関数アプリを作成するときに選択したランタイム スタック オプションに基づいています。 これは、Azure Functions Core Tools で func init
コマンドを使用するときの --worker-runtime
オプションと同じです。
言語 | ランタイム スタック | Linux | Windows | ポータルでの編集 |
---|---|---|---|---|
C# (分離ワーカー モデル) | .NET | ✓ | ✓ | |
C# (インプロセス モデル) | .NET | ✓ | ✓ | |
C# スクリプト | .NET | ✓ | ✓ | ✓ |
JavaScript | Node.js | ✓ | ✓ | ✓ |
Python | Python | ✓ | ✓ | |
Java | Java | ✓ | ✓ | |
PowerShell | PowerShell Core | ✓ | ✓ | ✓ |
TypeScript | Node.js | ✓ | ✓ | |
Go/Rust/その他 | カスタム ハンドラー | ✓ | ✓ |
オペレーティング システムと言語のサポートの詳細については、オペレーティング システム/ランタイムのサポートに関する記事を参照してください。
ポータル内編集を使用できない場合は、代わりに関数をローカルで開発する必要があります。
言語のメジャー バージョンのサポート
Azure Functions では、サポートされているプログラミング言語のメジャー バージョンのサポートを保証しています。 ほとんどの言語では、サポートされているメジャー バージョンを更新するために、マイナー バージョンまたはパッチ バージョンがリリースされています。 マイナー バージョンやパッチ バージョンの例としては、Python 3.9.1 や Node 14.17 などがあります。 サポートされている言語の新しいマイナー バージョンが使用可能になると、関数アプリで使用されるマイナー バージョンは、それらの新しいマイナー バージョンまたはパッチ バージョンに自動的にアップグレードされます。
Note
Azure Functions では、新しいマイナー バージョンが使用可能になった後いつでも古いマイナー バージョンのサポートが削除されることがあるため、関数アプリをプログラミング言語の特定のマイナーまたはパッチ バージョンに固定しないでください。
カスタム ハンドラー
カスタム ハンドラーは、Azure Functions ホストからイベントを受信する軽量の Web サーバーです。 HTTP プリミティブをサポートするすべての言語で、カスタム ハンドラーを実装できます。 つまり、カスタム ハンドラーを使用して、正式にサポートされていない言語で関数を作成できることを意味します。 詳細については、「Azure Functions のカスタム ハンドラー」を参照してください。
言語拡張
2\.x 以降、ランタイムは、言語拡張を提供するように設計されています。 2\.x ランタイムの JavaScript および Java 言語は、この拡張機能で構築されています。