Azure Functions에서 지원되는 언어
이 문서에서는 Azure Functions 사용 시 선호하는 언어에 대해 제공되는 지원 수준을 설명합니다. 또한 기본적으로 지원되지 않는 언어를 사용하여 함수를 만드는 전략에 대해서도 설명합니다.
지원에는 두 가지 수준이 있습니다.
- 일반 공급(GA) - 완전하게 지원되며 프로덕션용으로 승인되었습니다.
- 미리 보기 - 아직 지원되지 않지만 향후 GA 상태로 전환될 예정입니다.
런타임 버전별 언어
다음 표에서는 Azure Functions에서 지원하는 .NET 버전을 보여 줍니다. 문서 맨 위에 있는 기본 개발 언어를 선택합니다.
지원되는 .NET 버전은 Functions 런타임 버전과 선택한 실행 모델에 따라 다릅니다.
함수 코드는 별도의 .NET 작업자 프로세스에서 실행됩니다. 지원되는 .NET 및 .NET Framework 버전과 함께 사용합니다. 자세한 내용은 .NET 격리 작업자 프로세스 함수 개발을 참조하세요.
지원되는 버전 | 지원 수준 | 예상 커뮤니티 수명 종료 날짜 |
---|---|---|
.NET 9 | 프리뷰 | 정책 참조 |
.NET 8 | GA | 2026년 11월 10일 |
.NET 6 | GA | 2024년 11월 12일 |
.NET Framework 4.8.1 | GA | 정책 참조 |
.NET 7은 이전에 격리된 작업자 모델에서 지원되었지만 2024년 5월 14일에 공식 지원이 종료되었습니다.
자세한 내용은 격리된 작업자 프로세스에서 C# Azure Functions를 실행하기 위한 가이드를 참조하세요.
다음 표에서는 Java 함수에 지원되는 언어 버전을 보여 줍니다. 문서 맨 위에 있는 기본 개발 언어를 선택합니다.
지원되는 버전 | 지원 수준 | 예상 커뮤니티 수명 종료 날짜 |
---|---|---|
Java 21(Linux 전용) | 미리 보기를 | 2028년 9월 |
Java 17 | GA | 2027년 9월 |
Java 11 | GA | 2027년 9월 |
Java 8 | GA | 2026년 11월 30일 |
자세한 내용은 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 로드맵을 참조하세요.
언어 지원 세부 정보
다음 표는 Linux 또는 Windows에서 실행할 수 있는 Functions에서 지원하는 언어를 보여 줍니다. 또한 언어가 Azure Portal에서 편집을 지원하는지 여부를 나타냅니다. 언어는 Azure Portal에서 함수 앱을 만들 때 선택한 런타임 스택 옵션을 기반으로 합니다. 이는 Azure Functions Core Tools에서 func init
명령을 사용할 때의 --worker-runtime
옵션과 동일합니다.
언어 | 런타임 스택 | Linux | Windows | 포털 내 편집 |
---|---|---|---|---|
C#(격리된 작업자 모델) | .NET | ✓ | ✓ | |
C#(in-process 모델) | .NET | ✓ | ✓ | |
C# 스크립트 | .NET | ✓ | ✓ | ✓ |
JavaScript | Node.js | ✓ | ✓ | ✓ |
Python | Python | ✓ | X | ✓ |
Java | Java | ✓ | ✓ | |
PowerShell | PowerShell Core | ✓ | ✓ | ✓ |
TypeScript | Node.js | ✓ | ✓ | |
Go/Rust/기타 | 사용자 지정 처리기 | ✓ | ✓ |
운영 체제 및 언어 지원에 대한 자세한 내용은 운영 체제/런타임 지원을 참조하세요.
포털 내 편집을 사용할 수 없는 경우 대신 함수를 로컬에서 개발해야 합니다.
언어 주 버전 지원
Azure Functions는 지원되는 프로그래밍 언어의 주요 버전에 대한 지원을 보장합니다. 대부분의 언어의 경우 지원되는 주 버전을 업데이트하기 위해 부 버전 또는 패치 버전이 출시되었습니다. 부 버전 또는 패치 버전의 예로는 Python 3.9.1 및 Node 14.17이 있습니다. 지원되는 언어의 새로운 부 버전을 사용할 수 있게 되면 함수 앱에서 사용하는 부 버전이 이러한 최신 부 버전 또는 패치 버전으로 자동 업그레이드됩니다.
참고 항목
Azure Functions는 새로운 부 버전을 사용할 수 있게 되면 언제든지 이전 부 버전의 지원을 제거할 수 있으므로 함수 앱을 프로그래밍 언어의 특정 부/패치 버전에 고정하지 않아야 합니다.
사용자 지정 처리기
사용자 지정 처리기는 Azure Functions 호스트에서 이벤트를 받는 간단한 웹 서버입니다. HTTP 기본 형식을 지원하는 모든 언어는 사용자 지정 처리기를 구현할 수 있습니다. 즉, 사용자 지정 처리기를 사용하여 공식적으로 지원되지 않는 언어로 함수를 만들 수 있습니다. 자세한 내용은 Azure Functions 사용자 지정 처리기를 참조하세요.
언어 확장성
버전 2.x부터 런타임은 언어 확장성을 제공하도록 설계되었습니다. 2.x 런타임의 JavaScript 및 Java 언어는 이 확장성을 사용하여 빌드됩니다.
ODBC 드라이버 버전
이 표는 Python 함수에 대한 ODBC 드라이버 지원을 나타냅니다.
드라이버 버전 | Python 버전 |
---|---|
ODBC 드라이버 18 | ≥ Python 3.11 |
ODBC 드라이버 17 | ≤ Python 3.10 |