Anda dapat membuat fungsi event untuk memproses berbagai event yang dihasilkan oleh layanan Alibaba Cloud. Event tersebut mencakup tetapi tidak terbatas pada pengunggahan file ke Object Storage Service (OSS) dan peringatan yang dipicu oleh produk pemantauan Anda. Untuk informasi lebih lanjut tentang event, lihat Ikhtisar Trigger. Saat mengimplementasikan fungsi event, Anda dapat fokus sepenuhnya pada logika bisnis Anda karena integrasi event dan manajemen sumber daya komputasi dasar ditangani oleh Function Compute. Selain itu, Function Compute menyediakan dan menyesuaikan instans secara otomatis sesuai permintaan, serta melepaskannya setelah pemrosesan event untuk memastikan Anda hanya membayar untuk sumber daya yang sebenarnya digunakan.
Skenario contoh
Pertimbangkan kebutuhan untuk menyimpan file yang tidak dikompresi di OSS sambil menerima unggahan ZIP untuk efisiensi transfer. Dalam hal ini, diperlukan proses otomatis untuk mendekompresi file dan menyimpannya kembali ke OSS.
Pendekatan konvensional akan memerlukan pembuatan dan integrasi beberapa program untuk memantau dan memproses perubahan file di OSS, sambil juga mempertimbangkan penyebaran dan pemeliharaan program-program tersebut. Sebaliknya, menggunakan fungsi event memungkinkan Anda fokus hanya pada logika dekompresi. Setiap kali file diunggah ke OSS, trigger event yang telah dikonfigurasi secara otomatis memanggil logika Anda jika event memenuhi kondisi yang ditentukan. Setelah pemrosesan, sumber daya komputasi dilepaskan secara otomatis, menghemat biaya.
Bagian berikut dari topik ini menunjukkan implementasi fungsi event.
Ini mensimulasikan event unggahan OSS yang memicu fungsi event untuk mendekompresi file, mencetak metadata file seperti nama dan informasi bucket di konsol Function Compute. Demo ini tidak bergantung pada sumber daya OSS aktual, sehingga Anda tidak perlu menyiapkan bucket OSS.
Berikut adalah item-item yang akan Anda pelajari dalam demo ini:
Menyelesaikan seluruh proses pembuatan fungsi event, menulis handler, dan menguji fungsi di konsol Function Compute.
Memahami konsep-konsep utama seperti lingkungan eksekusi Function Compute dan runtime bawaan.
Belajar tentang parameter permintaan
eventdancontextdi handler.
Prasyarat
Prosedur
1. Pilih tipe fungsi
Masuk ke Konsol Function Compute. Di panel navigasi kiri, klik Functions. Di bilah navigasi atas, pilih wilayah tempat Anda ingin membuat fungsi, seperti Cina (Hangzhou). Lalu, klik Create Function.
Di halaman Create Function, klik Event Function. Anda dapat menyesuaikan Function Name.

2. Pilih runtime
Python
Untuk Runtime, pilih Built-in Runtimes > Python > Python 3.10.

Kami merekomendasikan Anda menggunakan runtime bawaan untuk fungsi event Anda karena runtime bawaan mencakup dependensi yang diperlukan untuk merespons event dari layanan Alibaba Cloud lainnya. Misalnya, runtime Python bawaan mencakup modul oss2, yang diperlukan untuk mengakses OSS. Untuk informasi lebih lanjut, lihat Ikhtisar (Python). Jika Anda menggunakan runtime kustom atau runtime Kontainer Kustom, Anda harus menginstal dependensi yang diperlukan. Untuk informasi lebih lanjut tentang perbandingan antara berbagai jenis runtime, lihat Pemilihan Lingkungan Runtime Fungsi.
Node.js
Untuk Runtime, pilih Built-in Runtimes > Node.js > Node.js 20.

Kami merekomendasikan Anda menggunakan runtime bawaan untuk fungsi event Anda karena runtime bawaan mencakup dependensi yang diperlukan untuk merespons event dari layanan Alibaba Cloud lainnya. Misalnya, runtime Node.js bawaan mencakup modul ali-oss, yang diperlukan untuk mengakses OSS. Untuk informasi lebih lanjut, lihat Ikhtisar (Node.js). Jika Anda menggunakan runtime kustom atau runtime Kontainer Kustom, Anda harus menginstal dependensi yang diperlukan. Untuk informasi lebih lanjut tentang perbandingan antara berbagai jenis runtime, lihat Pemilihan Lingkungan Runtime Fungsi.
3. Buat fungsi
Gunakan kode contoh Hello, world! untuk membuat fungsi. Pertahankan nilai default untuk Advanced Settings dan Environment Variables. Klik Create.

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

Seperti yang ditunjukkan pada gambar, template fungsi dengan handler dihasilkan secara otomatis. Anda dapat langsung menulis kode bisnis Anda berdasarkan template ini pada langkah-langkah berikutnya.
4. Ubah dan terapkan kode
Bahasa interpretasi seperti Python dan Node.js mendukung modifikasi kode langsung dan penyebaran dalam WebIDE, sedangkan bahasa yang dikompilasi seperti Java hanya memungkinkan kompilasi lokal paket kode untuk pengunggahan berikutnya dan tidak memiliki integrasi WebIDE.
Python
Buka index.py di WebIDE, ganti kode saat ini dengan kode berikut, dan klik Deploy.
Node.js
Buka index.mjs di WebIDE, ganti kode saat ini dengan kode berikut, dan klik Deploy.
5. Uji fungsi
Untuk mensimulasikan pengunggahan file ke OSS yang memicu fungsi, kami akan mendefinisikan event simulasi dan menggunakannya untuk memanggil fungsi.
Selain pengujian dengan event simulasi, Anda juga dapat menguji menggunakan event OSS nyata untuk memicu fungsi. Untuk informasi lebih lanjut, lihat Operasi Lanjutan.
Buat Event Simulasi: Di halaman Function Details, klik tab Code, klik ikon drop-down di sebelah Test Function, lalu pilih Configure Test Parameters dari daftar drop-down. Di panel Konfigurasikan Parameter Uji, pilih OSS dari daftar drop-down Event Template. Sebuah event simulasi dihasilkan secara otomatis dalam format yang sama dengan event OSS nyata.
Anda dapat menyesuaikan Event Name dan nilai parameter objek event, seperti nama bucket OSS dan nama file. Klik OK.

Klik Test Function untuk memicu eksekusi segera. Setelah eksekusi, periksa hasilnya di tab Response. Nilai balik 0 menunjukkan bahwa event telah diproses dengan sukses. Klik Log Output untuk melihat informasi log yang dihasilkan selama eksekusi.
Untuk menguji fungsi, Function Compute meneruskan konten event simulasi ke
handlermelalui parametereventdan mengeksekusi kode yang telah Anda terapkan pada langkah sebelumnya, yang melibatkan penguraian parametereventdan memproses file.
6. (Opsional) Bersihkan sumber daya
Function Compute ditagih berdasarkan sumber daya aktual yang Anda konsumsi. Fungsi yang dibuat hanya dikenakan biaya saat digunakan. Perhatikan layanan atau sumber daya Alibaba Cloud lainnya yang digunakan saat fungsi dipanggil, seperti data yang disimpan di OSS dan File Storage NAS (NAS).
Untuk menghapus fungsi, masuk ke Konsol Function Compute. Di panel navigasi kiri, klik Functions. Di bilah navigasi atas, pilih wilayah. Di halaman Fungsi, temukan fungsi yang ingin Anda hapus dan pilih di kolom Actions. Di kotak dialog yang muncul, konfirmasikan bahwa fungsi yang ingin Anda hapus tidak terikat pada sumber daya apa pun. Lalu, klik Hapus.

Operasi lanjutan
Anda sekarang telah membuat fungsi event melalui Konsol Function Compute, mengonfigurasi handler fungsi, dan menguji fungsi menggunakan event simulasi event. Untuk konfigurasi lebih lanjut, lihat operasi lanjutan berikut berdasarkan kebutuhan bisnis Anda:
Tambahkan Trigger:
Mengingat bahwa Anda mungkin belum memiliki bucket OSS, demo dalam topik ini menggunakan event OSS simulasi untuk pengujian, tanpa bergantung pada sumber daya OSS aktual. Namun, jika Anda ingin memproses event OSS nyata dalam bisnis Anda, Anda harus menambahkan trigger OSS untuk fungsi Anda. Untuk informasi lebih lanjut tentang menambahkan trigger, lihat Konfigurasikan Trigger OSS Asli.
Selain OSS, event dari berbagai layanan Alibaba Cloud lainnya (seperti layanan antrian pesan, Tablestore, dan Simple Log Service) juga dapat memicu eksekusi fungsi di Function Compute. Untuk informasi lebih lanjut tentang jenis trigger yang didukung oleh Function Compute, lihat Jenis Trigger.
Tambahkan Dependensi: Meskipun dependensi umum untuk pemrosesan event sudah termasuk dalam setiap runtime bawaan Function Compute, mereka mungkin tidak memenuhi kebutuhan bisnis spesifik Anda. Dalam hal ini, solusi paling sederhana adalah mengemas kode Anda dan dependensi tambahan ke dalam file ZIP dan menyebarkannya ke Function Compute. Untuk langkah-langkah rinci, lihat Sebarkan Paket Kode. Jika Anda ingin mengurangi ukuran paket kode untuk mengurangi cold start fungsi, Anda dapat menggunakan layer untuk mengelola dependensi. Untuk informasi lebih lanjut, lihat Buat Layer Kustom.
Konfigurasikan Logging: Untuk memudahkan debugging, pemecahan masalah, dan audit keamanan fungsi, kami merekomendasikan Anda mengonfigurasi fitur logging untuk fungsi Anda. Untuk langkah-langkah rinci, lihat Konfigurasikan Fitur Logging.
Referensi
Selain menggunakan Konsol Function Compute untuk membuat fungsi, Anda juga dapat menggunakan Serverless Devs untuk melakukannya. Untuk informasi lebih lanjut, lihat Memulai Cepat.
Kami merekomendasikan Anda merujuk pada tutorial praktis berikut untuk mempelajari lebih lanjut tentang fungsi event:

