Fungsi event dapat merespons berbagai event yang dihasilkan oleh layanan cloud, seperti unggahan file ke Object Storage Service (OSS) atau alert yang dipicu oleh produk pemantauan. Dengan fungsi event, Anda hanya perlu menulis logika pemrosesan tanpa mengelola integrasi event atau sumber daya komputasi dasar. Function Compute secara otomatis menjalankan, menskalakan, dan menghentikan instans sesuai kebutuhan. Anda hanya membayar sumber daya yang digunakan.
Kasus penggunaan
Bayangkan Anda perlu menyimpan file di Object Storage Service (OSS). Untuk mempercepat unggahan, Anda mengompresi file tersebut ke dalam arsip ZIP terlebih dahulu. Namun, saat ingin menggunakan file tersebut, Anda menginginkan file aslinya, bukan arsip ZIP. Hal ini memerlukan dekompresi file secara otomatis dan menyimpannya kembali ke OSS.
Fungsi event memungkinkan Anda fokus pada kode pemrosesan file. Setiap kali file diunggah ke OSS, sebuah event dihasilkan. Jika event tersebut memenuhi kondisi yang Anda konfigurasikan, fungsi tersebut secara otomatis dipicu untuk menjalankan penanganan Anda. Setelah penanganan selesai, sumber daya komputasi dilepas untuk menghemat biaya.
Karena Anda mungkin belum memiliki bucket OSS, tutorial ini menunjukkan cara mengimplementasikan fungsi event menggunakan event simulasi.
Anda akan membuat event simulasi unggahan file Object Storage Service (OSS). Event ini memanggil fungsi event untuk memproses file dan mencetak informasi seperti nama file dan nama bucket ke konsol.
Dengan menyelesaikan contoh ini, Anda akan mempelajari cara:
Membuat fungsi event, menulis penanganan, dan menguji fungsi menggunakan konsol.
Memahami konsep utama seperti Function Compute runtime dan runtime bawaan.
Memahami parameter penanganan
eventdancontext.
Prasyarat
Prosedur
1. Pilih jenis fungsi
Login ke Function Compute console. Di panel navigasi kiri, pilih . Di bilah navigasi atas, pilih wilayah tempat Anda ingin membuat fungsi. Klik Create Function, lalu ikuti petunjuk di layar untuk memilih dan membuat Event Function.
2. Pilih runtime
Python
Untuk Runtime, pilih Built-in Runtime > Python > Python 3.10.

Kami menyarankan menggunakan built-in runtime untuk fungsi event Anda. built-in runtime mencakup dependensi yang diperlukan untuk merespons event dari layanan cloud lainnya, seperti modul oss2 untuk Python. Untuk informasi selengkapnya, lihat Ikhtisar lingkungan runtime. Jika Anda menggunakan custom runtime atau custom image, Anda harus menginstal dependensi yang diperlukan. Untuk perbandingan detail antar runtime, lihat Pilih runtime.
Node.js
Untuk Runtime, pilih Built-in Runtime > Node.js > Node.js 20.

Kami menyarankan menggunakan built-in runtime untuk fungsi event Anda. built-in runtime mencakup dependensi yang diperlukan untuk merespons event dari layanan cloud lainnya, seperti modul ali-oss untuk Node.js. Untuk informasi selengkapnya, lihat Ikhtisar lingkungan runtime. Jika Anda menggunakan custom runtime atau custom image, Anda harus menginstal dependensi yang diperlukan. Untuk perbandingan detail antar runtime, lihat Pilih runtime.
3. Buat fungsi
Pilih Hello, world! example. Pertahankan nilai default untuk Advanced Settings, lalu klik Create. Tunggu hingga pembuatan fungsi selesai.

Setelah fungsi dibuat, Anda dapat melihat kode contoh yang dihasilkan di WebIDE pada tab Code. Gambar berikut menunjukkan contoh dalam Python.

Kode contoh Hello, world! secara otomatis menghasilkan templat fungsi beserta titik masuknya. Anda dapat langsung mengembangkan kode bisnis Anda berdasarkan templat ini pada langkah-langkah selanjutnya.
4. Modifikasi dan deploy kode contoh
Bahasa interpretatif seperti Python dan Node.js memungkinkan Anda langsung memodifikasi dan mendeploy kode di WebIDE. Bahasa terkompilasi seperti Java hanya mendukung kompilasi paket kode secara lokal lalu mengunggahnya, dan tidak mendukung WebIDE.
Python
Di WebIDE konsol, buka index.py. Ganti kode saat ini dengan kode berikut, lalu klik Deploy untuk menerapkan perubahan.
Node.js
Di WebIDE konsol, buka index.mjs. Ganti kode saat ini dengan kode berikut, lalu klik Deploy untuk menerapkan perubahan.
5. Uji fungsi
Untuk mensimulasikan skenario di mana unggahan file ke OSS memicu fungsi, definisikan event tiruan dan gunakan untuk memicu fungsi.
Selain menguji dengan event tiruan, Anda juga dapat menggunakan event OSS nyata untuk memicu fungsi. Untuk informasi selengkapnya, lihat Operasi lanjutan.
Buat event tiruan: Di halaman Function Details, klik tab Code. Klik panah tarik-turun di samping Test Function dan pilih Configure Test Parameters. Di bagian Event Template, pilih Object Storage Service (OSS). Event tiruan akan dihasilkan secara otomatis dengan format yang sama seperti event OSS nyata.
Anda dapat menyesuaikan Event Name serta nilai parameter dalam objek event, seperti nama Bucket OSS dan nama file. Setelah selesai, klik OK.

Di tab Code, klik Test Function untuk segera memicu fungsi. Setelah fungsi berhasil dijalankan, lihat Response. Kode contoh mengembalikan 0, yang menunjukkan bahwa event berhasil diproses. Klik Log Output untuk melihat informasi log yang dikeluarkan selama eksekusi fungsi.
Saat menguji fungsi, Function Compute meneruskan konten event tiruan ke
handlermelalui parameterevent. Fungsi tersebut kemudian menjalankan kode yang Anda definisikan pada langkah sebelumnya, yang mengurai parametereventdan memproses file.
6. (Opsional) Bersihkan sumber daya
Function Compute dikenai biaya berdasarkan penggunaan sumber daya. Anda tidak dikenai biaya untuk fungsi yang tidak digunakan. Namun, perlu diingat bahwa sumber daya terkait dari layanan cloud lainnya—seperti data yang disimpan di Object Storage Service (OSS) dan Apsara File Storage NAS—dapat dikenai biaya secara terpisah.
Untuk menghapus fungsi, masuk ke Function Compute console. Di panel navigasi kiri, pilih . Pilih wilayah, temukan fungsi yang ingin dihapus, lalu klik Delete pada kolom Actions. Di kotak dialog yang muncul, pastikan fungsi tersebut tidak memiliki sumber daya terkait, seperti pemicu, lalu konfirmasi penghapusan.
Operasi lanjutan
Anda telah berhasil membuat fungsi event, memodifikasi penanganan, dan menguji fungsi menggunakan event simulasi di konsol. Untuk langkah selanjutnya, rujuk operasi lanjutan berikut sesuai kebutuhan:
Tambahkan pemicu:
Topik ini menggunakan event simulasi unggahan file Object Storage Service (OSS) untuk pengujian karena Anda mungkin belum memiliki bucket OSS. Jika ingin menggunakan fungsi ini untuk keperluan bisnis, tambahkan pemicu OSS ke fungsi tersebut. Untuk informasi selengkapnya, lihat Konfigurasikan pemicu OSS native.
Selain OSS, event dari berbagai layanan Alibaba Cloud lainnya juga dapat memicu Function Compute. Layanan tersebut mencakup berbagai antrian pesan, Tablestore, dan Simple Log Service (SLS). Untuk daftar lengkap pemicu yang didukung, lihat Pengantar pemicu.
Tambahkan dependensi: Runtime bawaan menyertakan pustaka dependensi umum untuk pemrosesan event. Namun, pustaka tersebut mungkin tidak memenuhi semua kebutuhan bisnis Anda. Solusi paling sederhana adalah mengemas kode beserta dependensi tambahannya ke dalam file ZIP, lalu mengunggah dan mendeploy paket tersebut ke Function Compute. Untuk informasi selengkapnya, lihat Deploy paket kode. Untuk mengurangi ukuran paket kode dan mempercepat cold start, kelola dependensi menggunakan layer. Untuk informasi selengkapnya, lihat Buat layer kustom.
Konfigurasikan log: Konfigurasikan logging untuk fungsi Anda guna mendukung debugging, troubleshooting, dan audit keamanan. Untuk langkah-langkah detailnya, lihat Konfigurasikan fitur logging.
Dokumen terkait
Anda juga dapat menggunakan alat command-line Serverless Devs untuk membuat fungsi. Untuk informasi selengkapnya, lihat Quick start.
Lihat tutorial berikut untuk mempelajari lebih lanjut tentang fungsi event:

