Fungsi yang dipicu oleh event menjalankan kode Anda sebagai respons terhadap event dari pemicu seperti pemicu Function Compute, pemicu Object Storage Service (OSS), dan pemicu ApsaraMQ for RocketMQ. Setiap fungsi berjalan secara terisolasi—eksekusi satu fungsi tidak memengaruhi fungsi lainnya. Dokumen ini menjelaskan cara membuat, mengedit, menghapus, dan mengambil Aliyun Resource Name (ARN) dari fungsi yang dipicu oleh event menggunakan Konsol Function Compute.
Prasyarat
Sebelum memulai, pastikan Anda memiliki:
-
Akun Alibaba Cloud dengan akses ke Konsol Function Compute
-
Izin yang cukup untuk membuat fungsi di wilayah target
Buat fungsi
Langkah-langkah berikut memandu Anda membuat fungsi yang dipicu oleh event menggunakan runtime bawaan dan kode contoh. Setelah pembuatan, ganti kode contoh tersebut dengan logika Anda sendiri.
-
Masuk ke Konsol Function Compute. Di panel navigasi kiri, pilih Function Management > Function.
-
Di bilah menu atas, pilih wilayah. Pada halaman Function, klik Create Function.
-
Pada kotak dialog, pilih Event Function sebagai jenis fungsi, lalu klik Create.
-
Pada halaman Create Function, konfigurasikan pengaturan berikut dan klik Create.
Konfigurasi dasar
| Parameter | Deskripsi | Contoh |
|---|---|---|
| Function name | Pengidentifikasi unik untuk fungsi dalam akun dan wilayah yang sama. Harus mengikuti konvensi penamaan. | myFunction |
| vCPU | Jumlah core CPU virtual yang dialokasikan ke fungsi. Rasio vCPU terhadap memori harus antara 1:1 hingga 1:4. | 0.35 vCPU |
| Memory | Memori yang dialokasikan ke fungsi. | 512 MB |
| Disk | Disk space temporary untuk instans fungsi. Semua direktori dapat ditulis dan ruang tersebut dibagi bersama. Data akan hilang ketika instans diklaim ulang — pasang sistem file NAS atau bucket OSS untuk menyimpan file secara persisten. Function Compute menyediakan tier gratis sebesar 10 GB disk space. | 10 GB |
Penagihan untuk setiap pemanggilan dihitung dengan mengalikan spesifikasi resource dengan durasi penggunaan. Untuk detailnya, lihat Ikhtisar penagihan.
Kebijakan penskalaan
| Parameter | Deskripsi | Contoh |
|---|---|---|
| Minimum instances | Jumlah minimum instans yang tetap berjalan. Atur ke 1 atau lebih tinggi untuk melakukan pre-warm instans dan mengurangi latensi cold start pada beban kerja yang sensitif terhadap latensi. Jika tidak ada kebijakan elastis yang dikonfigurasi atau tidak ada kebijakan yang berlaku, nilai minimum efektif adalah nilai yang Anda atur di sini. Jika beberapa kebijakan elastis aktif, Function Compute menggunakan nilai tertinggi di antara kebijakan tersebut sebagai minimum efektif. Untuk detailnya, lihat Aturan penskalaan instans. |
1 |
Kode
Konfigurasikan lingkungan runtime dan sumber kode.
| Parameter | Deskripsi | Contoh |
|---|---|---|
| Runtime | Bahasa dan versi untuk menjalankan kode fungsi Anda. Pilih Built-in Runtimes dan pilih bahasa seperti Python, Java, PHP, atau Node.js. Untuk membuat fungsi web, pilih Custom Runtime. Untuk membuat fungsi yang dipercepat GPU, pilih Custom Container. Untuk daftar runtime yang tersedia, lihat Runtime Function Compute. | Built-in Runtimes |
| Code upload method | Cara menyediakan kode fungsi Anda. Opsi: Use Sample Code (starter Hello World, dapat diedit nanti di konsol), Upload ZIP (paket ZIP, atau paket JAR hanya untuk runtime Java), Upload Folder, atau OSS (tentukan bucket dan objek). | Use Sample Code |
| Handler | Titik masuk yang dipanggil Function Compute untuk memproses permintaan. Jika Anda menggunakan Use Sample Code, pertahankan nilai default. Jika Anda mengunggah kode sendiri, perbarui nilai ini agar sesuai dengan fungsi handler Anda. Handler yang salah menyebabkan error eksekusi. | index.handler |
| Execution timeout period | Waktu maksimum yang dapat dijalankan oleh satu pemanggilan. Nilai default adalah 60 detik; maksimum adalah 86.400 detik. | 60 |
Izin, jaringan, dan penyimpanan
| Parameter | Deskripsi | Contoh |
|---|---|---|
| Function role | Peran RAM yang digunakan Function Compute untuk menghasilkan kredensial temporary guna mengakses layanan Alibaba Cloud lainnya. Untuk detail penyiapan, lihat Berikan izin Function Compute untuk mengakses layanan Alibaba Cloud lainnya. | mytestrole |
| Access to VPC | Aktifkan untuk mengizinkan fungsi mengakses resource di dalam virtual private cloud (VPC). Untuk detail konfigurasi, lihat Konfigurasi jaringan. | Enabled |
| VPC | Diperlukan saat Access to VPC diaktifkan. Pilih VPC yang sudah ada atau buat yang baru. | fc.auto.create.vpc.1632317**** |
| vSwitch | Diperlukan saat Access to VPC diaktifkan. Pilih vSwitch yang sudah ada atau buat yang baru. | fc.auto.create.vswitch.vpc-bp1p8248**** |
| Security group | Diperlukan saat Access to VPC diaktifkan. Pilih security group yang sudah ada atau buat yang baru. | fc.auto.create.SecurityGroup.vsw-bp15ftbbbbd**** |
| Allow default NIC to access internet | Mengontrol apakah fungsi dapat mengakses internet melalui network interface controller (NIC) default-nya. | Enabled |
| Mount a NAS file system | Pasang sistem file NAS untuk berbagi data secara persisten di antara fungsi-fungsi, seperti file model yang digunakan oleh beberapa fungsi inferensi. Dengan konfigurasi otomatis, sistem akan menggunakan atau membuat sistem file NAS tujuan umum bernama Alibaba-Fc-V3-Component-Generated. Untuk detailnya, lihat Konfigurasi sistem file NAS. |
Enabled |
| Mount OSS | Pasang bucket OSS untuk menyimpan log, file bisnis, dan data lainnya secara persisten. Untuk detailnya, lihat Konfigurasi Object Storage Service (OSS). | Enabled |
Saat menggunakan Alamat IP publik statis, nonaktifkan Allow default NIC to access internet. Jika tidak, Alamat IP publik statis tidak akan berlaku. Untuk detailnya, lihat Konfigurasi Alamat IP publik statis.
Pemantauan log dan pelacakan
| Parameter | Deskripsi | Contoh |
|---|---|---|
| Log monitoring | Simpan log eksekusi fungsi ke Simple Log Service untuk debugging, analisis kesalahan, dan analitik data. Automatic Configuration menggunakan atau membuat proyek log bernama serverless-<region_id> (satu per wilayah). Custom Configuration memungkinkan Anda menentukan Log Service Project dan Logstore. Untuk detailnya, lihat Konfigurasi fitur logging. |
Enabled |
Konfigurasi tambahan
| Parameter | Deskripsi | Contoh |
|---|---|---|
| Time zone | Zona waktu untuk fungsi. Pengaturan ini menambahkan variabel lingkungan TZ dengan nilai yang dipilih. |
UTC |
| Tag | Tag untuk mengelompokkan dan mengelola fungsi. Setiap tag memerlukan kunci dan nilai. Untuk detailnya, lihat Tag fungsi. | key : value |
| Resource group | Kelompok sumber daya tempat fungsi tersebut berada. Untuk detailnya, lihat Kelompok sumber daya. | Default Resource Group |
| Environment variables | Pasangan kunci-nilai yang disuntikkan ke lingkungan eksekusi fungsi, memungkinkan Anda mengubah perilaku fungsi tanpa memodifikasi kode. Untuk detailnya, lihat Konfigurasi variabel lingkungan. | {"BUCKET_NAME": "MY_BUCKET", "TABLE_NAME": "MY_TABLE"} |
Edit fungsi
Pada halaman Function Details, gunakan tab Code untuk memodifikasi kode fungsi Anda langsung di konsol. Anda juga dapat mengekspor kode sebagai backup atau mengunggah kode baru.
Jika panel kiri menampilkan perubahan yang belum dikomit, klik Deploy sebelum mengklik Test Function untuk menerapkan perubahan Anda.
Untuk mengekspor atau mengunggah kode:
Pada halaman Function Details, klik tab Code. Lalu klik Export Function di pojok kanan atas dan pilih Export Function Code dari menu dropdown.
Pada halaman Function Details, klik tab Code. Lalu klik Upload Code di pojok kanan atas dan pilih metode unggah dari menu dropdown: Upload ZIP, Upload Folder, atau OSS.
Untuk perubahan konfigurasi lain seperti spesifikasi instans dan penskalaan, lihat Spesifikasi instans fungsi dan konfigurasi elastis.
Hapus fungsi
-
Masuk ke Konsol Function Compute. Di panel navigasi kiri, pilih Function Management > Function.
-
Temukan fungsi tersebut dan klik Delete Function di kolom Actions.
-
Pada dialog konfirmasi, verifikasi bahwa fungsi tidak memiliki resource yang dilampirkan (seperti pemicu atau kebijakan elastis minimum-instans), lalu konfirmasi penghapusan.
Dapatkan ARN fungsi
Nama Sumber Daya Alibaba Cloud (ARN) secara unik mengidentifikasi resource Alibaba Cloud dan memungkinkan Anda mereferensikan fungsi dari kode atau layanan lain.
-
Masuk ke Konsol Function Compute. Di panel navigasi kiri, pilih Function Management > Function.
-
Di bilah menu atas, pilih wilayah. Klik fungsi target.
-
Pada halaman Function Details, klik Copy ARN di sebelah kanan.
Langkah selanjutnya
-
Function Compute mendukung empat jenis fungsi untuk skenario berbeda: fungsi yang dipicu oleh event, fungsi web, fungsi task, dan fungsi yang dipercepat GPU. Untuk memilih jenis yang tepat, lihat Panduan pemilihan teknologi.
-
Untuk mengelola fungsi dengan API atau CLI, lihat Referensi API CreateFunction dan Memulai dengan Serverless Devs.
-
Jika fungsi mengalami timeout dengan error "Function time out after", lihat Pemecahan masalah error timeout fungsi.
-
Fungsi yang jarang dipanggil mungkin memiliki waktu respons lebih lama karena cold start. Untuk menghilangkan latensi cold start, atur Minimum instances ke
1atau lebih tinggi. Untuk latar belakangnya, lihat Mengapa fungsi yang jarang digunakan memerlukan waktu lebih lama untuk dipanggil.