Bagikan melalui


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 Majelis Umum Versi runtime yang direkomendasikan untuk fungsi dalam semua bahasa.Lihat Versi bahasa yang didukung.
1.x GA (dukungan berakhir 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 8, dan .NET 9.

Penting

Pada 13 Desember 2022, aplikasi fungsi yang berjalan pada versi 2.x dan 3.x dari runtime Azure Functions mencapai akhir dukungan yang diperluas. 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.

Pastikan untuk memilih bahasa pengembangan pilihan Anda di bagian atas artikel.

Tabel berikut ini memperlihatkan versi .NET yang didukung oleh Azure Functions.

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

Kode fungsi Anda berjalan dalam proses kerja .NET terpisah. Gunakan dengan versi .NET dan .NET Framework yang didukung. Untuk mempelajari selengkapnya, lihat Panduan untuk menjalankan C# Azure Functions dalam model pekerja yang terisolasi.

Versi yang didukung Tingkat dukungan Tanggal akhir dukungan yang diharapkan
.NET 9 Majelis Umum Mei 12, 2026
.NET 8 Majelis Umum 10 November 2026
.NET Framework 4.8.1 Majelis Umum Lihat kebijakan

.NET 6 sebelumnya didukung pada model pekerja yang terisolasi tetapi mencapai akhir dukungan resmi pada 12 November 2024.

.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 model pekerja yang terisolasi.

Tabel berikut ini memperlihatkan versi bahasa yang didukung untuk fungsi Java.

Versi yang didukung Tingkat dukungan Didukung hingga [tanggal/waktu]
Java 21 Majelis Umum Lihat peta rencana rilis dan layanan.
Java 17 Majelis Umum Lihat peta rencana rilis dan layanan.
Java 11 Majelis Umum Lihat peta rencana rilis dan layanan.
Java 8 Majelis Umum Lihat halaman dukungan Temurin ini.

Untuk informasi selengkapnya tentang mengembangkan dan menjalankan fungsi Java, lihat Panduan pengembang Azure Functions Java.

Tabel berikut ini memperlihatkan versi bahasa yang didukung untuk fungsi Node.js.

Versi yang didukung Tingkat dukungan Tanggal akhir dukungan yang diharapkan
Node.js 22 GA (Linux)
Pratinjau (Windows)
30 April 2027
Node.js 20 Majelis Umum 30 April 2026

TypeScript didukung dengan cara ditranspilasi ke JavaScript. Untuk informasi selengkapnya, lihat panduan pengembang azure Functions Node.js.

Tabel berikut ini memperlihatkan versi bahasa yang didukung untuk fungsi PowerShell.

Versi yang didukung Tingkat dukungan Tanggal akhir dukungan yang diharapkan
PowerShell 7.4 Majelis Umum 10 November 2026

Untuk informasi selengkapnya, lihat Panduan pengembang Azure Functions PowerShell.

Tabel berikut ini memperlihatkan versi bahasa yang didukung untuk fungsi Python.

Versi yang didukung Tingkat dukungan Tanggal akhir dukungan yang diharapkan
Python 3.12 Majelis Umum Oktober 2028
Python 3.11 Majelis Umum Oktober 2027
Python 3.10 Majelis Umum Oktober 2026
Python 3.9 Majelis Umum Oktober 2025

Untuk informasi selengkapnya, lihat Panduan pengembang Azure Functions Python.

Untuk informasi tentang perubahan yang direncanakan pada dukungan bahasa, lihat pembaruan peta jalan Azure.

Untuk informasi tentang versi bahasa untuk versi runtime Functions yang sebelumnya didukung, 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 dapat menurunkan versi runtime ke 1.x setelah membuat aplikasi fungsi Anda, 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-artikel berikut ini merinci perubahan signifikan antara versi-versi utama, termasuk perubahan signifikan khusus untuk 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 waktu berjalan
~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 terjadi pada aplikasi fungsi saat berjalan pada versi utama terbaru, Anda harus untuk sementara mengunci aplikasi ke versi minor tertentu. Menyematkan memberi Anda waktu untuk memastikan aplikasi berjalan dengan baik pada versi terbaru yang utama. Cara Anda menetapkan versi minor berbeda antara 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, mulai dari versi 4.x, runtime Functions 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, mulai dari versi 4.x, runtime Functions menetapkan persyaratan versi minimum untuk bundel ekstensi.

Jika Anda menerima peringatan tentang versi bundel ekstensi Anda 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 Functions runtime ini mencapai akhir perpanjangan dukungan pada 13 Desember 2022.

Versi Tingkat dukungan saat ini Tingkat dukungan sebelumnya
3.x Tidak didukung lagi Majelis Umum
2.x Tidak didukung lagi Majelis Umum

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.

Versi 2.x dan 3.x tidak lagi didukung karena akhir dukungan untuk .NET Core 3.1, yang merupakan 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 dari 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 tepat digunakan untuk debugging dan penerbitan berdasarkan pengaturan proyek. Pengaturan versi ditentukan dalam file .csproj di properti berikut:

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

Jika Anda menggunakan model pekerja yang terisolasi, Anda dapat memilih, , net8.0net6.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 dengan 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 mungkin 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.

Pengikat

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

  • Dukungan untuk ekstensi pengikatan non-Microsoft.

  • Pemisahan runtime dan pengikatan. Perubahan ini memungkinkan ekstensi pengikatan untuk diberi versi dan dirilis secara independen. Anda dapat, misalnya, memilih untuk memperbarui ke versi ekstensi yang mengandalkan 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 Pola ekspresi pengikatan Azure Functions.

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

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

Catatan:

  1. 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.
  2. Dimulai dengan runtime versi 2.x, semua pengikatan kecuali HTTP dan Timer harus didaftarkan. Lihat Ekstensi pengikatan registri.
  3. Pemicu tidak didukung dalam rencana Konsumsi. Memerlukan pemicu yang digerakkan oleh runtime.
  4. Didukung di Kubernetes, IoT Edge, dan mode lain yang dihost sendiri saja.

Durasi batas waktu aplikasi fungsi

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

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

Rencana Bawaan Maksimum1
Paket Konsumsi Fleksibel 30 Tak Terbatas2
Paket premium 304 Tak Terbatas2
Paket khusus 304 Tak terbatas3
Aplikasi Kontainer 30 Tidak terbatas5
Rencana Konsumsi 5 10
  1. Terlepas dari pengaturan batas waktu aplikasi fungsi, 230 detik adalah jumlah waktu maksimum yang dapat diambil fungsi yang dipicu HTTP untuk merespons permintaan. Ini karena batas waktu habis default dari 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. Tidak ada durasi batas waktu eksekusi maksimum yang diberlakukan. Namun, masa tenggang yang diberikan untuk eksekusi fungsi adalah 60 menit selama proses penurunan skala pada paket Konsumsi Fleksibel dan Premium, dan masa tenggang 10 menit diberikan selama pembaruan platform.
  3. Mengharuskan paket App Service diatur menjadi Always On. Masa tenggang 10 menit diberikan selama pembaruan platform.
  4. Batas waktu default untuk versi 1.x dari runtime host Functions adalah tidak terbatas.
  5. Saat jumlah minimum replika diatur ke nol, batas waktu default bergantung pada pemicu tertentu yang digunakan dalam aplikasi.

Untuk informasi selengkapnya, lihat sumber daya berikut: