Topik ini menjawab pertanyaan-pertanyaan umum terkait Serverless Devs.
Apa yang harus dilakukan jika ingin menggunakan konfigurasi lokal saat menerapkan kode?
Bagaimana cara melakukan debugging lokal pada sebuah fungsi?
Bagaimana cara menentukan dan memanggil fungsi jika beberapa fungsi didefinisikan dalam file s.yaml?
Bagaimana cara menggunakan Node.js 18 di Serverless Application Center atau Serverless Devs?
Bagaimana cara mengonfigurasi file s.yaml?
Untuk informasi lebih lanjut tentang spesifikasi YAML, lihat YAML specifications.
Apa yang harus saya lakukan jika terjadi pengecualian tetapi tidak ada pesan kesalahan yang dilaporkan saat saya menggunakan Serverless Devs?
Anda dapat mengikuti langkah-langkah berikut untuk memecahkan masalah:
Jalankan perintah
npm install @serverless-devs/s -guntuk memperbarui Serverless Devs.Jalankan perintah
s clean --alluntuk menghapus file yang berlebih.Jalankan perintah
rm -rf .suntuk menghapus file.sdari direktori.Jalankan perintah
s -vuntuk melihat versi Serverless Devs.Jika tidak ada respons setelah menjalankan perintah, runtime Node.js lokal mungkin mengalami masalah. Instal ulang Node.js 12 atau versi yang lebih baru.
Jika masalah tetap berlanjut, bergabunglah dengan grup DingTalk (ID grup: 64970014484) untuk menghubungi dukungan teknis dan menyediakan file {s-home}/logs/{TraceId}.log serta file s.yaml untuk pemecahan masalah.
Gambar berikut memberikan contoh cara memperoleh {s-home} dan {TraceId}.
Apa yang harus saya lakukan jika saya ingin menggunakan konfigurasi lokal saat menerapkan kode?
Anda dapat memilih opsi use-local saat menjalankan perintah s deploy, atau cukup jalankan perintah s deploy -y --use-local.
Apakah Serverless Devs mendukung penerapan multi-region?
Ya, Serverless Devs mendukung penerapan multi-region. Untuk informasi lebih lanjut, lihat Penerapan multi-region Serverless Devs.
Bagaimana cara melakukan debugging lokal pada sebuah fungsi?
Jika runtime Anda bukan runtime kustom tetapi runtime bawaan seperti Node.js atau Python di Function Compute, kami sarankan menggunakan metode pemanggilan lokal Serverless Devs untuk debugging. Untuk informasi lebih lanjut, lihat Perintah lokal.
Jika runtime Anda adalah runtime kustom, Anda dapat memulai proses debugging kode server sesuai praktik pengembangan umum.
CatatanUntuk runtime kustom, Anda dapat menjalankan perintah
s local invokeuntuk memanggil fungsi secara lokal. Namun, debugging breakpoint tidak didukung.
Bagaimana cara menggunakan file .fcignore?
Saat mengunggah dependensi proyek ke sistem file File Storage NAS (NAS) untuk menerapkan paket kode besar, Anda dapat menggunakan file .fcignore untuk mengecualikan file tertentu. Untuk informasi lebih lanjut, lihat Tips umum.
Bagaimana cara menentukan fungsi untuk diterapkan dan dipanggil jika beberapa fungsi didefinisikan dalam file s.yaml?
Dalam file s.yaml, layanan mungkin berisi beberapa fungsi. Jika ingin menerapkan atau memanggil hanya salah satu fungsi, Anda dapat menentukan nama fungsi saat menjalankan perintah berikut: s deploy, s local start, atau s local invoke. Gambar berikut menunjukkan contoh file s.yaml. Dalam gambar, hanya fungsi helloworld yang diterapkan setelah menjalankan perintah s helloworld deploy.

Apa yang harus saya lakukan jika error "connect ENOENT /var/run/docker.sock" dilaporkan saat saya menjalankan perintah s local atau s build?
Pesan kesalahan
Contoh pesan kesalahan:
Proyek xxx gagal dieksekusi:
KESALAHAN:
connect ENOENT /var/run/docker.sockSolusi
Jika Anda dapat menjalankan perintah Docker dengan normal pada mesin lokal tetapi tidak dapat menjalankan perintah s local atau s build di Serverless Devs, ikuti langkah-langkah berikut untuk menyelesaikan masalah:
Periksa apakah file
/var/run/docker.socktersedia.Jalankan perintah berikut untuk memeriksa keberadaan file tersebut. Jika file tersedia, lewati langkah berikutnya. Jika tidak tersedia, lanjutkan ke langkah berikutnya.
ll /var/run/docker.sockKonfigurasikan tautan simbolik yang menunjuk ke direktori
/var/run.ll ~/.docker/run/docker.sock ln -s ~/.docker/run/docker.sock /var/run/docker.sock
Periksa apakah klien Docker telah dimulai.
Untuk menjalankan perintah
s localataus builddi Serverless Devs, Anda harus memastikan bahwa klien Docker telah dimulai.
Bagaimana cara menggunakan Node.js 18 di Serverless Application Center atau Serverless Devs?
Dalam skenario web, sebagian besar pengguna menggunakan runtime kustom. Namun, versi Node.js, Python, dan PHP bawaan mungkin tidak memenuhi persyaratan bisnis mereka. Dalam hal ini, jika ingin menggunakan Node.js 18, gunakan metode berikut:
Kami sarankan membuat fungsi yang berjalan di runtime kustom di konsol, pilih Node.js 18 untuk parameter Runtime, dan ekspor konfigurasi fungsi di halaman detail fungsi. Variabel layers dalam YAML digunakan untuk memuat lapisan umum untuk Node.js 18. Variabel PATH dalam YAML digunakan untuk menetapkan Node.js 18 sebagai versi default.
service:
internetAccess: true
name: test-service
function:
handler: index.handler
timeout: 60
diskSize: 512
caPort: 3000
layers:
- acs:fc:cn-hangzhou:official:layers/Nodejs18/versions/1
customRuntimeConfig:
command:
- node
- server.js
runtime: custom.debian10
environmentVariables:
PATH: /opt/nodejs18/bin:/usr/local/bin/...
NODE_PATH: /opt/nodejs/node_modules
...Jika menggunakan fitur yang disediakan di Serverless Application Center, konfigurasi layer tidak akan berlaku selama proses pembuatan. Oleh karena itu, untuk menggunakan Node.js 18 selama proses pembuatan, Anda perlu menjalankan perintah export PATH untuk menentukan bahwa Node.js 18 digunakan, kemudian jalankan perintah npm install dan npm run build. Untuk informasi lebih lanjut, lihat Tingkatkan runtime pipeline.
Mengapa saya tidak dapat mengakses aplikasi yang diterapkan menggunakan Serverless Devs? Apakah nama domain yang terikat dihapus?
Anda mungkin telah menggunakan nama domain ***.devsapp.net.
Catatan bahwa nama domain ***.devsapp.net disediakan oleh Serverless Devs hanya untuk tujuan pembelajaran dan pengujian. Nama domain tersebut tidak dapat digunakan di lingkungan produksi. Serverless Devs secara berkala mengirimkan permintaan uji URL ke domain tersebut dan mencabut domain tersebut satu hari setelah penerbitan. Untuk memastikan pengalaman yang lebih baik, kami sarankan segera mengonfigurasi nama domain kustom untuk aplikasi Anda. Untuk informasi lebih lanjut tentang konfigurasi nama domain kustom, lihat Konfigurasikan nama domain kustom.
Aplikasi tanpa nama domain kustom selama lebih dari satu hari akan menjadi tidak dapat diakses begitu nama domain ***.devsapp.net dicabut. Dalam kasus seperti itu, Anda perlu menerapkan ulang aplikasi agar Serverless Devs menerbitkan domain tersebut kembali.