Azure Functions でサポートされている言語Supported languages in Azure Functions

この記事では、Azure Functions で使用できる言語のサポートのレベルについて説明します。This article explains the levels of support offered for languages that you can use with Azure Functions. また、ネイティブでサポートされていない言語を使用して関数を作成する方法についても説明します。It also describes strategies for creating functions using languages not natively supported.

サポートのレベルLevels of support

次の 2 つのレベルのサポートがあります。There are two levels of support:

  • 一般公開 (GA) - 完全にサポートされ、運用環境用に承認されています。Generally available (GA) - Fully supported and approved for production use.
  • プレビュー - まだサポートされていませんが、今後 GA 状態に達すると想定されています。Preview - Not yet supported but is expected to reach GA status in the future.

言語 (ランタイム バージョン別)Languages by runtime version

3 つのバージョンの Azure Functions ランタイムを利用できます。Three versions of the Azure Functions runtime are available. 次の表は、各ランタイム バージョンでどの言語がサポートされているかを示しています。The following table shows which languages are supported in each runtime version.

LanguageLanguage 1.x1.x 2.x2.x 3.x3.x
C#C# GA (.NET Framework 4.7)GA (.NET Framework 4.7) GA (.NET Core 2.21)GA (.NET Core 2.21) GA (.NET Core 3.1)GA (.NET Core 3.1)
プレビュー (.NET 5.0)Preview (.NET 5.0)
JavaScriptJavaScript GA (Node 6)GA (Node 6) GA (Node 10、8)GA (Node 10 & 8) GA (Node 14、12、10)GA (Node 14, 12, & 10)
F#F# GA (.NET Framework 4.7)GA (.NET Framework 4.7) GA (.NET Core 2.21)GA (.NET Core 2.21) GA (.NET Core 3.1)GA (.NET Core 3.1)
JavaJava 該当なしN/A GA (Java 8)GA (Java 8) GA (Java 11、8)GA (Java 11 & 8)
PowerShellPowerShell 該当なしN/A GA (PowerShell Core 6)GA (PowerShell Core 6) GA (PowerShell 7、Core 6)GA (PowerShell 7 & Core 6)
PythonPython 該当なしN/A GA (Python 3.7、3.6)GA (Python 3.7 & 3.6) GA (Python 3.8、3.7、3.6)GA (Python 3.8, 3.7, & 3.6)
プレビュー (Python 3.9)Preview (Python 3.9)
TypeScriptTypeScript 該当なしN/A GA2GA2 GA2GA2

1 ランタイム バージョン 2.x を対象とする .NET クラス ライブラリのアプリは、.NET Core 3.1 の .NET Core 2.x 互換モードで実行できるようになりました。1 .NET class library apps targeting runtime version 2.x may now be run on .NET Core 3.1 in .NET Core 2.x compatibility mode. 詳細については、「Functions v2.x の考慮事項」を参照してください。To learn more, see Functions v2.x considerations.
2 JavaScript へのトランスパイリングによってサポートされます。2 Supported through transpiling to JavaScript.

サポートされている言語バージョンの詳細については、言語固有の開発者ガイドに関する記事をご覧ください。See the language-specific developer guide article for more details about supported language versions.
言語サポートの計画的な変更については、「Azure ロードマップ」を参照してください。For information about planned changes to language support, see Azure roadmap.

カスタム ハンドラーCustom handlers

カスタム ハンドラーは、Azure Functions ホストからイベントを受信する軽量の Web サーバーです。Custom handlers are lightweight web servers that receive events from the Azure Functions host. HTTP プリミティブをサポートするすべての言語で、カスタム ハンドラーを実装できます。Any language that supports HTTP primitives can implement a custom handler. つまり、カスタム ハンドラーを使用して、正式にサポートされていない言語で関数を作成できることを意味します。This means that custom handlers can be used to create functions in languages that aren't officially supported. 詳細については、「Azure Functions のカスタム ハンドラー」を参照してください。To learn more, see Azure Functions custom handlers.

言語拡張Language extensibility

2.x 以降、ランタイムは、言語拡張を提供するように設計されています。Starting with version 2.x, the runtime is designed to offer language extensibility. 2.x ランタイムの JavaScript および Java 言語は、この拡張機能で構築されています。The JavaScript and Java languages in the 2.x runtime are built with this extensibility.

次のステップNext steps

サポートされている言語で関数を開発する方法の詳細については、次のリソースを参照してください。To learn more about how to develop functions in the supported languages, see the following resources: