Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menguraikan pembaruan fitur Python penting yang diperkenalkan oleh Azure Functions yang dimulai dengan Python 3.13. Perubahan ini termasuk manajemen versi runtime, peningkatan performa, dan beberapa fitur yang dihapus.
Pengendalian versi runtime Python
Dimulai dengan Python 3.13, Functions memperkenalkan kontrol versi runtime, fitur keikutsertaan baru yang memungkinkan Anda menargetkan versi tertentu dari runtime Functions Python yang digunakan oleh aplikasi Anda.
Tanpa mengaktifkan kontrol versi, aplikasi Anda terus berjalan pada versi default runtime Python, yang dikelola oleh Functions. Anda harus memodifikasi file requirements.txt untuk meminta versi rilis terbaru, versi yang telah dirilis sebelumnya, atau untuk dapat menyematkan aplikasi Anda ke versi tertentu dari runtime Python.
Anda mengaktifkan kontrol versi runtime dengan menambahkan referensi ke paket runtime Python ke file requirements.txt Anda, di mana nilai yang ditetapkan ke paket menentukan versi runtime yang digunakan.
Referensi spesifik yang Anda tambahkan di requirements.txt bergantung pada model pemrograman Python Anda, yang dapat menjadi salah satu nilai ini:
| Versi model | Nama paket |
|---|---|
| v2 | azure-functions-runtime |
| v1 | azure-functions-runtime-v1 |
Tabel ini menunjukkan perilaku penerapan versi berdasarkan nilai versi pengaturan ini dalam file requirements.txt Anda:
| Versi | Contoh | Perilaku |
|---|---|---|
| Tidak ada nilai yang ditetapkan | azure-functions-runtime |
Aplikasi Python 3.13+ Anda berjalan pada versi terbaru yang tersedia dari runtime Functions Python. Opsi ini terbaik untuk tetap terkini dengan peningkatan dan fitur platform, karena aplikasi Anda secara otomatis menerima pembaruan runtime stabil terbaru. |
| Disematkan ke versi tertentu | azure-functions-runtime==1.2.0 |
Aplikasi Python 3.13+ Anda tetap berada di versi runtime yang disematkan dan tidak menerima pembaruan otomatis. Anda harus memperbarui versi yang disematkan secara manual untuk memanfaatkan fitur, perbaikan, dan peningkatan baru dalam runtime. Penyematan direkomendasikan untuk beban kerja produksi penting di mana stabilitas dan kepastian sangat penting. Penyematan juga memungkinkan Anda menguji aplikasi pada versi runtime yang telah rilis sebelumnya selama pengembangan. |
| Tidak ada referensi paket | n/a | Dengan tidak mengatur azure-functions-runtime, aplikasi Python 3.13+ Anda berjalan pada versi default runtime Python yang berada di belakang versi terbaru yang dirilis. Pembaruan dilakukan secara berkala oleh Functions. Opsi ini memastikan stabilitas dan kompatibilitas yang luas. Namun, akses ke fitur dan perbaikan terbaru tertunda hingga versi default diperbarui. |
Ingatlah pertimbangan ini saat menggunakan kontrol versi runtime dengan aplikasi Python 3.13+Anda:
- Hindari memasang aplikasi produksi apa pun dengan versi runtime prarilis (alpha, beta, atau dev).
- Tinjau catatan rilis runtime Python secara teratur untuk mengetahui perubahan yang diterapkan pada runtime Python aplikasi Anda atau untuk menentukan kapan harus memperbarui versi yang disematkan.
Perubahan dan peningkatan lain yang diperkenalkan dalam Python 3.13
Python 3.13 memperkenalkan beberapa peningkatan pada Functions yang meningkatkan performa dan keandalan dan sebaliknya memengaruhi perilaku runtime:
Isolasi dependensi sekarang diaktifkan secara default
Aplikasi Anda sekarang dapat memperoleh manfaat dari isolasi dependensi penuh, yang berarti bahwa ketika aplikasi Anda menyertakan dependensi yang juga digunakan oleh pekerja Python, seperti azure-functions atau grpcio, aplikasi Anda dapat menggunakan versinya sendiri meskipun runtime Python menggunakan versi yang berbeda secara internal.
Isolasi ini mencegah konflik versi dan meningkatkan kompatibilitas dengan paket kustom.
Peningkatan kinerja saat cold start.
Python 3.13 memberikan pengurangan waktu mulai dingin yang terukur dibandingkan dengan Python 3.11, yang menghasilkan startup aplikasi yang lebih cepat.
Penanganan JSON yang lebih cepat dengan dukungan Orjson
Functions sekarang mendukung penggunaan Orjsonotomatis , pustaka JSON berkinerja tinggi yang ditulis dalam Rust. Saat Orjson disertakan dalam dependensi aplikasi Anda, runtime secara otomatis menggunakannya untuk serialisasi dan deserialisasi JSON tanpa harus membuat perubahan apa pun dalam kode Anda.
Penggunaan Orjson dapat memberikan latensi yang lebih rendah dan throughput yang lebih tinggi untuk beban kerja berat JSON, seperti panggilan API HTTP dan pemrosesan peristiwa. Untuk memastikan kompatibilitas mundur, pustaka standar json digunakan saat Orjson tidak tersedia.
Pendaftaran yang disederhanakan untuk streaming HTTP
- Fitur HTTP Streaming sekarang tersedia tanpa memerlukan perubahan apa pun pada pengaturan aplikasi Anda atau konfigurasi lainnya. Meskipun Anda masih harus ikut serta di tingkat fungsi, Anda tidak perlu lagi menambahkan pengaturan
PYTHON_ENABLE_INIT_INDEXINGuntuk menggunakan fitur tersebut.
Dukungan fitur dihapus di Python
Fitur-fitur ini tidak lagi didukung oleh Functions saat menggunakan Python 3.13 dan versi yang lebih baru:
- Ekstensi Pekerja: Ekstensi pekerja kustom tidak kompatibel dengan runtime Python 3.13+. Jika aplikasi Anda mengandalkan ekstensi ini, Anda harus mengevaluasi ulang atau bermigrasi untuk menggunakan alternatif yang didukung.
- Memori Bersama: Fitur memori bersama yang digunakan untuk pengoptimalan payload besar tidak tersedia dimulai dengan Python 3.13. Secara bawaan, semua komunikasi sekarang menggunakan protokol gRPC.