Gambaran umum versi runtime Azure Functions

Azure Functions saat ini mendukung dua versi host runtime. Tabel berikut merinci versi runtime yang saat ini didukung, tingkat dukungannya, dan kapan mereka harus digunakan:

Versi Tingkat dukungan Deskripsi
4.x GA Versi runtime yang direkomendasikan untuk fungsi dalam semua bahasa.Lihat Versi bahasa yang didukung.
1.x GA ( dukunganberakhir 14 September 2026) Hanya didukung untuk aplikasi C# yang harus menggunakan .NET Framework. Versi ini dalam mode pemeliharaan, dengan perangkat tambahan yang disediakan hanya dalam versi yang lebih baru. Dukungan akan berakhir untuk versi 1.x pada 14 September 2026. Kami sangat menyarankan Anda memigrasikan aplikasi Anda ke versi 4.x, yang mendukung .NET Framework 4.8, .NET 6, .NET 7, dan .NET 8.

Penting

Mulai 13 Desember 2022, aplikasi fungsi yang berjalan pada versi 2.x dan 3.x dari runtime Azure Functions telah mencapai akhir dukungan perpanjangan. Untuk informasi selengkapnya, lihat Versi yang dihentikan.

Artikel ini merinci beberapa perbedaan antara versi yang didukung, bagaimana Anda dapat membuat setiap versi, dan cara mengubah versi tempat fungsi Anda berjalan.

Tingkat dukungan

Ada dua tingkat dukungan:

  • Ketersediaan umum (GA): Didukung sepenuhnya dan disetujui untuk penggunaan produksi.
  • Pratinjau - Belum didukung, tetapi diharapkan mencapai status GA di masa mendatang.

Bahasa

Semua fungsi dalam aplikasi fungsi harus berbagi bahasa pemrogram yang sama. Anda memilih bahasa fungsi di aplikasi fungsi saat membuat aplikasi. Bahasa aplikasi fungsi Anda dipertahankan dalam pengaturan FUNCTIONS_WORKER_RUNTIME , dan tidak dapat diubah saat ada fungsi yang ada.

Tabel berikut ini memperlihatkan versi .NET yang didukung oleh Azure Functions. Pilih bahasa pengembangan pilihan Anda di bagian atas artikel.

Versi .NET yang didukung tergantung pada versi runtime Functions dan model eksekusi yang Anda pilih:

Kode fungsi Anda berjalan dalam proses pekerja .NET terpisah. Gunakan dengan versi .NET dan .NET Framework yang didukung. Untuk mempelajari lebih lanjut, lihat Mengembangkan fungsi proses pekerja terisolasi .NET.

Versi yang didukung Tingkat dukungan Tanggal EOL komunitas yang diharapkan
.NET 8 GA 10 November 2026
.NET 7 GA Mei 14, 2024
.NET 6 GA 12 November 2024
.NET Framework 4.8 GA Lihat kebijakan

Untuk informasi selengkapnya, lihat Panduan untuk menjalankan C# Azure Functions dalam proses pekerja yang terisolasi.

Tabel berikut ini memperlihatkan versi bahasa yang didukung untuk fungsi Java. Pilih bahasa pengembangan pilihan Anda di bagian atas artikel.

Versi yang didukung Tingkat dukungan Tanggal EOL komunitas yang diharapkan
Java 21 (khusus Linux) Pratinjau September 2028
Java 17 GA September 2027
Java 11 GA September 2027
Java 8 GA 30 November 2026

Untuk informasi selengkapnya, lihat Panduan pengembang Azure Functions Java.

Tabel berikut ini memperlihatkan versi bahasa yang didukung untuk fungsi Node.js. Pilih bahasa pengembangan pilihan Anda di bagian atas artikel.

Versi yang didukung Tingkat dukungan Tanggal EOL komunitas yang diharapkan
Node.js 20 GA 30 April 2026
Node.js 18 GA 30 April 2025
Node.js 16 GA 11 September 2023*
Node.js 14 GA 30 April 2023*

*Dukungan pada Functions diperpanjang hingga 30 Juni 2024.

TypeScript didukung melalui transpiling ke JavaScript. Untuk informasi selengkapnya, lihat panduan pengembang azure Functions Node.js.

Tabel berikut ini memperlihatkan versi bahasa yang didukung untuk fungsi PowerShell. Pilih bahasa pengembangan pilihan Anda di bagian atas artikel.

Versi yang didukung Tingkat dukungan Tanggal EOL komunitas yang diharapkan
PowerShell 7.2 GA Jumat, 08 Nopember 2024

Untuk informasi selengkapnya, lihat Panduan pengembang Azure Functions PowerShell.

Tabel berikut ini memperlihatkan versi bahasa yang didukung untuk fungsi Python. Pilih bahasa pengembangan pilihan Anda di bagian atas artikel.

Versi yang didukung Tingkat dukungan Tanggal EOL komunitas yang diharapkan
Python 3.11 GA Oktober 2027
Python 3.10 GA Oktober 2026
Python 3.9 GA Oktober 2025
Python 3.8 GA Oktober 2024

Untuk informasi selengkapnya, lihat Panduan pengembang Azure Functions Python.

Untuk informasi tentang perubahan yang direncanakan untuk dukungan bahasa, lihat Peta jalan Azure.

Untuk informasi tentang versi bahasa dari versi runtime Functions yang didukung sebelumnya, lihat Versi runtime yang dihentikan.

Jalankan pada versi tertentu

Versi runtime Functions yang digunakan oleh aplikasi yang diterbitkan di Azure ditentukan oleh pengaturan aplikasi FUNCTIONS_EXTENSION_VERSION. Dalam beberapa kasus dan untuk bahasa tertentu, pengaturan lain dapat diterapkan.

Secara default, aplikasi fungsi yang dibuat di portal Azure, oleh Azure CLI, atau dari alat Visual Studio diatur ke versi 4.x. Anda dapat memodifikasi versi ini jika diperlukan. Anda hanya menurunkan tingkat versi runtime ke 1.x setelah membuat aplikasi fungsi tetapi sebelum menambahkan fungsi apa pun. Memperbarui ke versi utama yang lebih baru diizinkan bahkan dengan aplikasi yang memiliki fungsi yang ada.

Memigrasikan aplikasi fungsi yang ada

Saat aplikasi Anda memiliki fungsi yang ada, Anda harus mengambil tindakan pencegahan sebelum pindah ke versi runtime utama yang lebih baru. Artikel berikut ini merinci perubahan yang melanggar antara versi utama, termasuk perubahan pemecahan khusus bahasa. Mereka juga memberi Anda instruksi langkah demi langkah untuk keberhasilan migrasi aplikasi fungsi yang ada.

Mengubah versi aplikasi di Azure

Nilai versi runtime utama berikut digunakan:

Nilai Target runtime
~4 4.x
~1 1.x

Penting

Jangan mengubah pengaturan aplikasi ini secara segan-segan, karena perubahan pengaturan aplikasi lain dan perubahan pada kode fungsi Anda mungkin diperlukan. Untuk aplikasi fungsi yang ada, ikuti instruksi migrasi.

Menyematkan ke versi minor tertentu

Untuk mengatasi masalah yang mungkin dimiliki aplikasi fungsi Anda saat berjalan pada versi utama terbaru, Anda harus menyematkan aplikasi untuk sementara ke versi minor tertentu. Menyematkan memberi Anda waktu untuk menjalankan aplikasi dengan benar pada versi utama terbaru. Cara Anda menyematkan pada versi minor berbeda untuk Windows dan Linux. Untuk mempelajari selengkapnya, lihat Cara menargetkan versi runtime Azure Functions.

Versi minor yang lebih lama dihapus secara berkala dari Functions. Untuk berita terbaru tentang rilis Azure Functions, termasuk penghapusan versi minor lama tertentu, lihat pengumuman Azure App Service.

Versi ekstensi minimum

Secara teknis tidak ada korelasi antara versi ekstensi pengikatan dan versi runtime Functions. Namun, dimulai dari runtime Functions versi 4.x memberlakukan versi minimum untuk semua ekstensi pemicu dan pengikatan.

Jika Anda menerima peringatan tentang paket yang tidak memenuhi versi minimum yang diperlukan, Anda harus memperbarui paket NuGet tersebut ke versi minimum seperti biasa. Persyaratan versi minimum untuk ekstensi yang digunakan di Functions v4.x dapat ditemukan di file konfigurasi tertaut.

Untuk skrip C#, perbarui referensi bundel ekstensi di host.json sebagai berikut:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Secara teknis tidak ada korelasi antara versi bundel ekstensi dan versi runtime Functions. Namun, dimulai dari versi 4.x runtime Functions memberlakukan versi minimum untuk bundel ekstensi.

Jika Anda menerima peringatan tentang versi bundel ekstensi yang tidak memenuhi versi minimum yang diperlukan, perbarui referensi bundel ekstensi yang ada di host.json sebagai berikut:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Untuk mempelajari selengkapnya bundel ekstensi, lihat Bundel ekstensi.

Versi yang dihentikan

Versi runtime Functions ini mencapai akhir dukungan yang diperpanjang pada 13 Desember 2022.

Versi Tingkat dukungan saat ini Tingkat dukungan sebelumnya
3.x Di luar dukungan GA
2.x Di luar dukungan GA

Sesegera mungkin, Anda harus memigrasikan aplikasi ke versi 4.x untuk mendapatkan dukungan penuh. Untuk sekumpulan lengkap instruksi migrasi khusus bahasa, lihat Memigrasikan aplikasi ke Azure Functions versi 4.x.

Aplikasi yang menggunakan versi 2.x dan 3.x masih dapat dibuat dan disebarkan dari alur CI/CD DevOps Anda, dan semua aplikasi yang ada terus berjalan tanpa merusak perubahan. Namun, aplikasi Anda tidak memenuhi syarat untuk fitur baru, patch keamanan, dan pengoptimalan performa. Anda hanya bisa mendapatkan dukungan layanan terkait setelah meningkatkan aplikasi ke versi 4.x.

Akhir dukungan untuk versi 2.x dan 3.x disebabkan oleh akhir dukungan untuk .NET Core 3.1, yang mereka miliki sebagai dependensi inti. Persyaratan ini memengaruhi semua bahasa yang didukung oleh Azure Functions.

Versi aplikasi yang dikembangkan secara lokal

Anda dapat membuat pembaruan berikut untuk aplikasi fungsi guna mengubah versi yang ditargetkan secara lokal.

Versi runtime Visual Studio

Pada Visual Studio, Anda memilih versi runtime saat membuat project. Alat Azure Functions untuk Visual Studio mendukung dua versi runtime utama. Versi yang benar digunakan saat penelusuran kesalahan dan penerbitan berdasarkan pengaturan proyek. Pengaturan versi didefinisikan dalam .csproj file pada properti berikut:

<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>

Anda dapat memilih net8.0, net7.0, net6.0, atau net48 sebagai kerangka kerja target jika Anda menggunakan model pekerja yang terisolasi. Jika Anda menggunakan model dalam proses, Anda hanya dapat memilih net6.0, dan Anda harus menyertakan ekstensi yang Microsoft.NET.Sdk.Functions diatur ke setidaknya 4.0.0.

Visual Studio Code dan Azure Functions Core Tools

Azure Functions Core Tools digunakan untuk pengembangan baris perintah dan juga oleh ekstensi Azure Functions untuk Visual Studio Code. Untuk informasi selengkapnya, lihat Memasang Azure Functions Core Tools.

Untuk pengembangan Visual Studio Code, Anda juga perlu memperbarui pengaturan pengguna agar azureFunctions.projectRuntime sesuai dengan versi alat yang diinstal. Pengaturan ini juga memperbarui pola dasar dan bahasa pemrogram yang digunakan selama pembuatan aplikasi fungsi.

Pengikatan

Dimulai dengan versi 2.x, runtime menggunakan model ekstensibilitas pengikatan baru yang menawarkan keunggulan berikut:

  • Dukungan untuk ekstensi pengikatan pihak ketiga.

  • Memisahkan runtime dan pengikatan. Perubahan ini memungkinkan ekstensi pengikatan untuk diberi versi dan dirilis secara independen. Anda dapat, misalnya, memilih untuk meningkatkan ke versi ekstensi yang terhubung dengan versi yang lebih baru dari SDK yang mendasarinya.

  • Lingkungan eksekusi yang lebih ringan, di mana hanya pengikatan yang digunakan dapat diketahui dan dimuat oleh runtime.

Kecuali untuk HTTP dan pemicu timer, semua pengikatan harus ditambahkan secara eksplisit ke proyek aplikasi fungsi, atau didaftarkan di portal. Untuk informasi selengkapnya, lihat Mendaftarkan ekstensi pengikatan.

Tabel berikut ini memperlihatkan pengikatan yang didukung di setiap versi runtime.

Tabel ini memperlihatkan pengikatan yang didukung di versi utama runtime Azure Functions:

Jenis 1.x1 2.x dan lebih tinggi2 Pemicu Input Output
Penyimpanan Blob
Azure Cosmos DB
Azure Data Explorer
Azure SQL
Dapr4
Event Grid
Event Hubs
HTTP & webhook
Pusat IoT
Kafka3
Aplikasi Seluler
Notification Hubs
Antrean Penyimpanan
Redis
RabbitMQ3
SendGrid
Service Bus
SignalR
Penyimpanan Tabel
Timer
Twilio

1Dukungan akan berakhir untuk runtime Azure Functions versi 1.x pada 14 September 2026. Kami sangat menyarankan Agar Anda memigrasikan aplikasi Anda ke versi 4.x untuk dukungan penuh.

2 Dimulai dengan runtime versi 2.x, semua pengikatan kecuali HTTP dan Timer harus didaftarkan. Lihat Mendaftarkan ekstensi pengikatan.

3 Pemicu tidak didukung dalam paket Konsumsi. Memerlukan pemicu yang digerakkan oleh runtime.

4 Hanya didukung di Kubernetes, IoT Edge, dan mode yang dihost sendiri lainnya saja.

Durasi batas waktu aplikasi fungsi

Durasi batas waktu untuk fungsi dalam aplikasi fungsi ditentukan oleh functionTimeout properti dalam file proyek host.json . Properti ini berlaku khusus untuk eksekusi fungsi. Setelah pemicu memulai eksekusi fungsi, fungsi perlu mengembalikan/merespons dalam durasi batas waktu. Untuk informasi selengkapnya, lihat Meningkatkan performa dan keandalan Azure Functions.

Tabel berikut menampilkan nilai default dan maksimum (dalam menit) untuk paket tertentu:

Paket Default Maximum1
Paket Konsumsi 5 10
Paket premium 302 Tidak terbatas3
Paket khusus 302 Tidak terbatas3

1Terlepas dari pengaturan batas waktu aplikasi fungsi, 230 detik adalah jumlah waktu maksimum yang dapat diambil oleh fungsi yang dipicu HTTP untuk merespons permintaan. Ini karena batas waktu menganggur default Azure Load Balancer. Untuk waktu pemrosesan yang lebih lama, pertimbangkan untuk menggunakan pola asinkron Durable Functions atau tangguhkan pekerjaan aktual dan kembalikan respons segera.
2 Batas waktu default untuk runtime Functions versi 1.x adalah tidak terbatas.
3 Dijamin hingga 60 menit. Patching OS dan runtime, patching kerentanan, dan skala perilaku masih dapat membatalkan eksekusi fungsi sehingga memastikan untuk menulis fungsi yang kuat.

Langkah berikutnya

Untuk informasi selengkapnya, lihat sumber daya berikut: