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 8, dan .NET 9. |
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 9 | Pratinjau | Lihat kebijakan |
.NET 8 | GA | 10 November 2026 |
.NET 6 | GA | 12 November 2024 |
.NET Framework 4.8 | GA | Lihat kebijakan |
.NET 7 sebelumnya didukung pada model pekerja yang terisolasi tetapi mencapai akhir dukungan resmi pada 14 Mei 2024.
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 22 | Pratinjau | 30 April 2027 |
Node.js 20 | GA | 30 April 2026 |
Node.js 18 | GA | 30 April 2025 |
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.4 | GA | 10 November 2026 |
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
Penting
Dukungan 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.
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>
Jika Anda menggunakan model pekerja yang terisolasi, Anda dapat memilih, , net8.0
net6.0
, atau net48
sebagai kerangka kerja target. Anda juga dapat memilih untuk menggunakan dukungan pratinjau untuk net9.0
. Jika Anda menggunakan model dalam proses, Anda dapat memilih net8.0
atau net6.0
, dan Anda harus menyertakan ekstensi yang Microsoft.NET.Sdk.Functions
diatur ke setidaknya 4.4.0
.
.NET 7 sebelumnya didukung pada model pekerja yang terisolasi tetapi mencapai akhir dukungan resmi pada 14 Mei 2024.
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 | ✔ | ✔ | ✔ |
Catatan:
- Dukungan 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.
- Dimulai dengan runtime versi 2.x, semua pengikatan kecuali HTTP dan Timer harus didaftarkan. Lihat Mendaftarkan ekstensi pengikatan.
- Pemicu tidak didukung dalam paket Konsumsi. Memerlukan pemicu yang digerakkan oleh runtime.
- Didukung di Kubernetes, IoT Edge, dan mode lain yang dihost sendiri 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 menghindari batas waktu, penting untuk menulis fungsi yang kuat. 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 Konsumsi Flex | 30 | Tidak terikat2 |
Paket premium | 304 | Tidak terikat2 |
Paket khusus | 304 | Tidak terikat3 |
Aplikasi Kontainer | 30 | Tidak terikat4 |
- Terlepas dari pengaturan batas waktu aplikasi fungsi, 230 detik adalah jumlah waktu maksimum yang dapat diambil oleh fungsi yang dipicu HTTP untuk menanggapi 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.
- Tidak ada durasi batas waktu eksekusi maksimum yang diberlakukan. Namun, masa tenggang yang diberikan untuk eksekusi fungsi adalah 60 menit selama penskalaan untuk paket Konsumsi Flex dan Premium, dan masa tenggang 10 menit diberikan selama pembaruan platform.
- Mengharuskan paket App Service diatur ke Always On. Masa tenggang 10 menit diberikan selama pembaruan platform.
- Batas waktu default untuk runtime host Functions versi 1.x tidak terbatas.
- Ketika jumlah minimum replika diatur ke nol, batas waktu default bergantung pada pemicu tertentu yang digunakan dalam aplikasi.
Langkah berikutnya
Untuk informasi selengkapnya, lihat sumber daya berikut: