WebIDE menyediakan lingkungan yang konsisten antara terminal dan lingkungan eksekusi Function Compute. Anda dapat menggunakan terminal instance WebIDE untuk mengemas dependensi pihak ketiga, sama seperti dalam lingkungan runtime Function Compute. Topik ini menjelaskan cara mengemas dependensi pihak ketiga untuk runtime Python, Node.js, PHP, serta runtime kustom melalui terminal WebIDE.
Python
Beberapa pustaka pihak ketiga sudah terpasang di lingkungan runtime Python. Untuk informasi lebih lanjut, lihat Modul Python Bawaan. Jika Anda perlu memasang pustaka pihak ketiga lainnya, jalankan perintah berikut di direktori /code terminal WebIDE:
pip install -t . flask
# atau
pip install -t . -r requirements.txtJika menggunakan metode ini, direktori kode mungkin menjadi berantakan sehingga sulit menemukan file index.py di pengelola sumber daya. Anda dapat mendefinisikan direktori, misalnya /python, dan memasang dependensi pihak ketiga ke direktori tersebut. Agar kode fungsi dapat mengimpor dependensi, tambahkan variabel lingkungan PYTHONPATH=/code/python untuk fungsi tersebut. Jalankan perintah berikut:
mkdir python
cd python
pip install -t . flask/python sebagai layer, lalu merujuk layer tersebut di fungsi. Setelah itu, hapus direktori /python di direktori kode. Jalankan perintah berikut:#1. Terbitkan direktori python sebagai layer.
zip -ry python.zip python
s cli fc layer publish --layer-name myPythonLibLayer --code /code/python.zip --compatible-runtime python3.10,python3.9,python3.6,custom, custom.debian10 --region cn-hangzhou -a default
...
395da10bf789aa49dd035db01bab****#myPythonLibLayer#1
#2. Perbarui fungsi dan rujuk layer di fungsi.
#3. Hapus direktori python untuk mengurangi ukuran paket kode fungsi.
rm -rf python python.zip
#4. Terapkan fungsi yang telah diperbarui./python untuk lingkungan runtime Python. Tidak perlu mengonfigurasi variabel lingkungan PYTHONPATH=/opt/python agar paket pihak ketiga dapat diimpor ke dalam fungsi.Untuk informasi lebih lanjut tentang cara membuat dan merujuk layer kustom, lihat Buat Layer Kustom dan Kelola Layer.
Node.js
Beberapa pustaka pihak ketiga sudah terpasang di lingkungan runtime Node.js. Untuk informasi lebih lanjut, lihat Modul Bawaan Node.js. Jika Anda perlu memasang pustaka pihak ketiga lainnya, jalankan perintah berikut di direktori /code terminal WebIDE:
# File package.json sudah ada.
npm install/node_modules, mengemasnya sebagai layer, lalu merujuk layer tersebut di fungsi. Setelah itu, hapus direktori /node_modules di direktori kode. Contoh kode:#1. Terbitkan direktori node_modules sebagai layer.
mkdir nodejs
mv node_modules ./nodejs
zip -ry nodejs.zip nodejs
s cli fc layer publish --layer-name myNodeLibLayer --code /code/nodejs.zip --compatible-runtime nodejs16,nodejs14,nodejs12,nodejs10,custom,custom.debian10 --region cn-hangzhou -a default
...
395da10bf789aa49dd035db01bab****#myNodeLibLayer#1
#2. Perbarui fungsi dan rujuk layer di fungsi.
#3. Hapus direktori node_modules untuk mengurangi ukuran paket kode fungsi.
rm -rf nodejs nodejs.zip
#4. Terapkan fungsi yang telah diperbarui.Untuk informasi lebih lanjut tentang cara membuat dan merujuk layer kustom, lihat Buat Layer Kustom dan Kelola Layer.
PHP
Untuk PHP, metode memasang paket dependensi pihak ketiga serupa dengan Python dan Node.js. Perbedaannya adalah direktori yang digunakan untuk membangun layer dalam lingkungan runtime PHP adalah /opt/php. Untuk informasi lebih lanjut, lihat bagian "Direktori yang Dapat Ditambahkan di Setiap Runtime" dalam Buat Layer Kustom.
Runtime Kustom
Jika Anda menggunakan runtime kustom dengan bahasa seperti Python, Node.js, atau PHP, Anda dapat menggunakan metode yang sama untuk mengemas dependensi pihak ketiga.
Jika Anda menggunakan runtime kustom dengan bahasa kompilasi utama, seperti Java atau Golang, gunakan SDK yang disediakan oleh WebIDE untuk melakukan kompilasi dan pengemasan.