Topik ini menjelaskan runtime kustom di mana Anda dapat menulis fungsi dalam Function Compute.
Latar Belakang
Runtime kustom memungkinkan Anda menyesuaikan lingkungan runtime. Dalam runtime kustom, Anda dapat membuat lingkungan eksekusi fungsi eksklusif sesuai kebutuhan bisnis Anda. Berikut adalah skenario umum:
Menyesuaikan bahasa pemrograman individual, seperti Rust.
Menyesuaikan runtime berdasarkan versi tertentu dari bahasa pemrograman, seperti Node.js 16.
Lingkungan kontainer
Tabel berikut menunjukkan lingkungan eksekusi yang didukung oleh runtime kustom di Function Compute.
Runtime | Pengenal | Sistem Operasi | Arsitektur |
Runtime Kustom (Debian10) | custom.debian10 | Debian 10 | x86_64 |
Runtime Kustom (Debian 9) | custom | Debian 9 | x86_64 |
Runtime Kustom (Debian 10) (dalam pratinjau publik)
Izin Pengguna: Fungsi harus dijalankan oleh pengguna root.
Izin Direktori: Data dapat ditulis ke direktori apa pun.
Lokasi Kode dalam Kontainer: /code.
Runtime Kustom (Debian 9)
Izin Pengguna
Fungsi yang dibuat pada atau setelah 00:00:00 Desember 1, 2021 harus dijalankan oleh pengguna root.
Fungsi yang dibuat sebelum 00:00:00 Desember 1, 2021 harus dijalankan oleh pengguna non-root.
Izin Direktori
Untuk fungsi yang dibuat pada atau setelah 00:00:00 Desember 1, 2021, data dapat ditulis ke direktori apa pun.
Untuk fungsi yang dibuat sebelum 00:00:00 Desember 1, 2021, data hanya dapat ditulis ke direktori /tmp.
Lokasi Kode dalam Kontainer: /code.
Informasi lingkungan
Runtime Kustom (Debian10)
Bahasa pemrograman berikut terpasang di dalam runtime kustom berbasis Debian 10. Anda dapat membuat runtime kustom dari bahasa pemrograman berikut tanpa perlu menginstal penerjemah pihak ketiga atau mengonfigurasi lapisan.
Tabel berikut menjelaskan detailnya. Untuk beberapa bahasa pemrograman, variabel lingkungan harus dikonfigurasi.
Bahasa Pemrograman | Direktori Instalasi | Versi | Variabel Lingkungan |
Node.js 20 | /var/fc/lang/nodejs20 | v20.10.0 | PATH=/var/fc/lang/nodejs20/bin:$PATH |
Node.js 18 | /var/fc/lang/nodejs18 | v18.19.0 | PATH=/var/fc/lang/nodejs18/bin:$PATH |
Python 3.10 | /var/fc/lang/python3.10 | 3.10.9 | PATH=/var/fc/lang/python3.10/bin:$PATH |
Python 2.7 | Direktori instalasi default dalam sistem | 2.7.16 | N/A |
Runtime Kustom (Debian 9)
Bahasa pemrograman berikut terpasang di dalam runtime kustom berbasis Debian 9. Anda dapat membuat runtime kustom dari bahasa pemrograman berikut tanpa perlu menginstal penerjemah pihak ketiga atau mengonfigurasi lapisan.
Python 3.7.4 (versi Python default)
Node.js 10.16.2
OpenJDK 1.8.0
Ruby 2.7
Nginx 1.10.3
PHP 7.4.12
Menggunakan bahasa pemrograman non-bawaan
Kami merekomendasikan agar Anda menggunakan lapisan publik jika ingin menggunakan bahasa pemrograman non-bawaan. Untuk informasi lebih lanjut, lihat Konfigurasikan lapisan publik di konsol Function Compute.
Jika Anda ingin membuat runtime kustom dengan menggunakan bahasa pemrograman non-bawaan, Anda harus mengekstrak interpreter atau runtime bahasa tersebut dan file kode Anda menjadi satu paket dan menerapkan paket tersebut di Function Compute sehingga fungsi Anda dapat berjalan sesuai harapan. Sebagai contoh, jika Anda ingin menggunakan Node.js 16, Anda harus mengunduh interpreter yang diperlukan untuk Node.js 16, mengekstrak interpreter dan file kode Anda menjadi satu paket, lalu menerapkan paket tersebut di Function Compute. Lakukan operasi berikut:
Unduh
Node.jsversi Linux 64-bit ke direktori paket kode.wget http://mirrors.nju.edu.cn/nodejs/v16.14.2/node-v16.14.2-linux-x64.tar.gz -O node-v16.14.2-linux-x64.tar.gz && tar -zxvf node-v16.14.2-linux-x64.tar.gz && rm -rf node-v16.14.2-linux-x64.tar.gzKonfigurasikan perintah startup
Node.jsdalam runtime kustom.customRuntimeConfig: command: - /code/node-v16.14.2-linux-x64/bin/node args: - 'server.js' # Anda juga dapat mengonfigurasi variabel lingkungan berikut untuk fungsi: PATH=/code/node-v16.14.2-linux-x64/bin:/usr/local/bin/apache-maven/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/ruby/bin. # Setelah konfigurasi selesai, Anda dapat langsung menggunakan Node.js untuk memulai server HTTP.
Instal dependensi
Untuk informasi lebih lanjut tentang cara menginstal dependensi setiap bahasa dalam runtime kustom, lihat topik-topik berikut:
Anda juga dapat menggunakan lapisan Function Compute untuk menginstal dependensi. Kami merekomendasikan agar Anda menggunakan lapisan publik atau membangun lapisan dependensi secara online. Untuk informasi lebih lanjut, lihat topik-topik berikut: