Azure Functions에서 지원되는 언어

이 문서에서는 Azure Functions에서 사용할 수 있는 언어에 대해 제공되는 지원 수준을 설명합니다. 또한 기본적으로 지원되지 않는 언어를 사용하여 함수를 만드는 전략에 대해서도 설명합니다.

지원 수준

지원에는 두 가지 수준이 있습니다.

  • 일반 공급(GA) - 완전하게 지원되며 프로덕션용으로 승인되었습니다.
  • 미리 보기 - 아직 지원되지 않지만 향후 GA 상태로 전환될 예정입니다.

런타임 버전별 언어

여러 가지 버전의 Azure Functions 런타임을 사용할 수 있습니다. 다음 표는 각 런타임 버전에서 지원되는 언어를 나타냅니다.

언어 1.x 2.x 3.x 4.x
C# GA(.NET Framework 4.8) GA(.NET Core 2.11) GA(.NET Core 3.1)
GA(.NET 5.0)
GA(.NET 6.0)
미리 보기(.NET Framework 4.8)
JavaScript GA(Node.js 6) GA(Node.js 10 & 8) GA(Node.js 14, 12, & 10) GA(Node.js 14)
GA(Node.js 16)
F# GA(.NET Framework 4.8) GA(.NET Core 2.11) GA(.NET Core 3.1) GA(.NET 6.0)
Java 해당 없음 GA(Java 8) GA(Java 11 & 8) GA(Java 11 & 8)
PowerShell 해당 없음 GA(PowerShell Core 6) GA(PowerShell 7.0 & Core 6) GA(PowerShell 7.0)
미리 보기(PowerShell 7.2)
Python 해당 없음 GA(Python 3.7 & 3.6) GA(Python 3.9, 3.8, 3.7, & 3.6) GA(Python 3.9, 3.8, 3.7)
TypeScript2 해당 없음 GA GA GA

1 런타임 버전 2.x를 대상으로 하는 .NET 클래스 라이브러리 앱은 .NET Core 3.1에서 .NET Core 2.x 호환성 모드로 실행됩니다. 자세히 알아보려면 Functions v2.x 고려 사항을 참조하세요.
2JavaScript로의 변환 컴파일링(transpiling)을 통해 지원됩니다.

지원되는 언어 버전에 대한 자세한 내용은 언어별 개발자 가이드 문서를 참조하세요.
언어 지원 변경 계획에 대한 정보는 Azure 로드맵을 참조하세요.

언어 지원 세부 정보

다음 표는 Linux 또는 Windows에서 실행할 수 있는 Functions에서 지원하는 언어를 보여 줍니다. 또한 언어가 Azure Portal에서 편집을 지원하는지 여부를 나타냅니다. 언어는 Azure Portal에서 함수 앱을 만들 때 선택한 런타임 스택 옵션을 기반으로 합니다. 이는 Azure Functions Core Tools에서 func init 명령을 사용할 때의 --worker-runtime 옵션과 동일합니다.

언어 런타임 스택 Linux Windows 포털 내 편집
C# 클래스 라이브러리1 .NET
C# 스크립트 .NET
JavaScript Node.js
Python Python
Java Java
PowerShell PowerShell Core
TypeScript Node.js
Go/Rust/기타 사용자 지정 처리기

1 포털에서는 현재 .NET 5.0에서 실행되는 함수 앱을 만들 수 없습니다. 자세한 내용은 Azure Functions를 사용하여 .NET 5 함수 개발 및 게시를 참조하세요.

자세한 내용은 운영 체제/런타임 지원을 참조하세요.

포털 내 편집을 사용할 수 없는 경우 대신 함수를 로컬에서 개발해야 합니다.

언어 주 버전 지원

Azure Functions는 지원되는 프로그래밍 언어의 주요 버전에 대한 지원을 보장합니다. 대부분의 언어의 경우 지원되는 주 버전을 업데이트하기 위해 부 버전 또는 패치 버전이 출시되었습니다. 부 버전 또는 패치 버전의 예로는 Python 3.9.1 및 Node 14.17이 있습니다. 지원되는 언어의 새로운 부 버전을 사용할 수 있게 되면 함수 앱에서 사용하는 부 버전이 이러한 최신 부 버전 또는 패치 버전으로 자동 업그레이드됩니다.

참고

Azure Functions는 새로운 부 버전을 사용할 수 있게 되면 언제든지 이전 부 버전의 지원을 제거할 수 있으므로 함수 앱을 프로그래밍 언어의 특정 부/패치 버전에 고정하지 않아야 합니다.

사용자 지정 처리기

사용자 지정 처리기는 Azure Functions 호스트에서 이벤트를 받는 간단한 웹 서버입니다. HTTP 기본 형식을 지원하는 모든 언어는 사용자 지정 처리기를 구현할 수 있습니다. 즉, 사용자 지정 처리기를 사용하여 공식적으로 지원되지 않는 언어로 함수를 만들 수 있습니다. 자세한 내용은 Azure Functions 사용자 지정 처리기를 참조하세요.

언어 확장성

버전 2.x부터 런타임은 언어 확장성을 제공하도록 설계되었습니다. 2.x 런타임의 JavaScript 및 Java 언어는 이 확장성을 사용하여 빌드됩니다.

다음 단계

지원되는 언어로 함수를 개발하는 방법에 대한 자세한 내용은 다음 리소스를 참조하세요.