全部产品
Search
文档中心

Function Compute:Ikhtisar pemicu OSS

更新时间:Dec 27, 2025

Saat mengintegrasikan Object Storage Service (OSS) dengan Function Compute, Anda dapat menggunakan event OSS untuk memicu eksekusi fungsi dan memproses data di OSS. Topik ini menjelaskan batas, jenis event, serta aturan pemicu untuk pemicu OSS di Function Compute.

Informasi latar belakang

OSS terintegrasi secara mulus dengan Function Compute melalui pemicu OSS. Anda dapat menulis fungsi untuk memproses event OSS. Saat OSS menangkap event jenis tertentu, fungsi terkait akan dieksekusi. Misalnya, Anda dapat mengonfigurasi fungsi untuk memproses event PutObject. Ketika Anda memanggil operasi OSS PutObject untuk mengunggah citra ke OSS, fungsi tersebut akan dipicu secara otomatis guna memproses citra tersebut.

Dengan integrasi OSS dan Function Compute, Anda dapat menggunakan berbagai fungsi untuk memproses data citra atau audio serta menyimpan hasilnya di berbagai layanan penyimpanan. Dalam arsitektur ini, Anda hanya perlu fokus pada penulisan logika fungsi, sedangkan sistem akan memproses volume data besar secara real time, andal, dan berskala.

Batas pemicu OSS

Definisi event OSS

Saat sistem OSS menangkap event tertentu, informasi event tersebut dikodekan dalam string JSON dan diteruskan ke fungsi penangan. Untuk informasi selengkapnya tentang format notifikasi event OSS, lihat Event notifications.

Tabel berikut menjelaskan event OSS yang didukung. Jenis event ini berkorespondensi dengan operasi API, seperti ObjectCreated, ObjectRemoved, atau ObjectModified. Setiap kali operasi API dipanggil dan berhasil dieksekusi, fungsi akan dipicu untuk berjalan sekali.

Jenis event

Nama event

Deskripsi

ObjectCreated

oss:ObjectCreated:PutObject

Panggil operasi PutObject untuk mengunggah file. Untuk informasi selengkapnya, lihat PutObject.

oss:ObjectCreated:PutSymlink

Panggil operasi PutSymlink untuk membuat symbolic link ke objek target di OSS. Anda dapat menggunakan symbolic link ini untuk mengakses objek target. Untuk informasi selengkapnya, lihat PutSymlink.

oss:ObjectCreated:PostObject

Panggil operasi PostObject untuk mengunggah file ke bucket tertentu menggunakan formulir HTML. Untuk informasi selengkapnya, lihat PostObject.

oss:ObjectCreated:CopyObject

Panggil operasi CopyObject untuk menyalin objek yang sudah ada di OSS. Untuk informasi selengkapnya, lihat CopyObject.

oss:ObjectCreated:InitiateMultipartUpload

Sebelum mentransfer data dalam mode MultipartUpload, Anda harus memanggil operasi InitiateMultipartUpload untuk memberi tahu OSS agar menginisialisasi event unggah multi-bagian. Untuk informasi selengkapnya, lihat InitiateMultipartUpload.

oss:ObjectCreated:UploadPart

Setelah event unggah multi-bagian diinisiasi, Anda dapat mengunggah data secara bertahap berdasarkan nama objek dan upload ID yang ditentukan. Untuk informasi selengkapnya, lihat UploadPart.

oss:ObjectCreated:UploadPartCopy

UploadPartCopy mengunggah bagian dengan menyalin data dari objek yang sudah ada. Untuk informasi selengkapnya, lihat UploadPartCopy.

oss:ObjectCreated:CompleteMultipartUpload

Setelah semua bagian data diunggah, Anda harus memanggil operasi CompleteMultipartUpload untuk menyelesaikan unggah multi-bagian seluruh file. Untuk informasi selengkapnya, lihat CompleteMultipartUpload.

oss:ObjectCreated:AppendObject

Panggil operasi AppendObject untuk mengunggah file dengan menambahkan data. Untuk informasi selengkapnya, lihat AppendObject.

oss:ObjectCreated:*

Fungsi dipicu setelah salah satu operasi API ObjectCreated di atas berhasil dipanggil.

ObjectRemoved

oss:ObjectRemoved:DeleteObject

Panggil operasi DeleteObject untuk menghapus objek. Untuk informasi selengkapnya, lihat DeleteObject.

oss:ObjectRemoved:DeleteObjects

Panggil operasi DeleteMultipleObjects untuk menghapus multiple file dalam satu batch. Untuk informasi selengkapnya, lihat DeleteMultipleObjects.

oss:ObjectRemoved:AbortMultipartUpload

Panggil operasi AbortMultipartUpload untuk menghentikan event unggah multi-bagian berdasarkan upload ID yang diberikan. Untuk informasi selengkapnya, lihat AbortMultipartUpload.

ObjectModified

oss:ObjectModified:UpdateObjectMeta

Panggil operasi UpdateObjectMeta untuk memodifikasi properti objek.

Catatan

Event ini didukung di Wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Qingdao), Tiongkok (Beijing), Tiongkok (Zhangjiakou), Tiongkok (Hohhot), Tiongkok (Shenzhen), dan Tiongkok (Chengdu).

ObjectReplication

oss:ObjectReplication:ObjectCreated

Operasi tulis yang terlibat dalam proses replikasi data.

oss:ObjectReplication:ObjectModified

Operasi timpa yang terlibat dalam proses replikasi data.

oss:ObjectReplication:ObjectRemoved

Operasi hapus yang terlibat dalam proses replikasi data.

Aturan pemicu OSS

Hindari pemicuan berulang (loop)

Peringatan

Saat menggunakan pemicu OSS, hindari pembuatan loop pemicu. Skenario khas loop pemicu terjadi ketika event pengunggahan file ke bucket OSS memicu suatu fungsi. Setelah dieksekusi, fungsi tersebut menghasilkan satu atau beberapa file dan menuliskannya kembali ke bucket OSS yang sama. Aksi penulisan ini kemudian memicu fungsi lagi, sehingga terjadi loop tak henti.

Untuk menghindari biaya tambahan akibat pemicuan berulang, Anda dapat mengonfigurasi prefix atau suffix file. Misalnya, tetapkan prefix file pemicu sebagai src dan prefix file hasil sebagai dst. Dengan demikian, file yang dihasilkan tidak akan memicu fungsi lagi. Jika Anda tidak menetapkan prefix atau suffix, semua file—apa pun prefix atau suffix-nya—akan dicocokkan. Untuk informasi selengkapnya, lihat Langkah 1: Buat pemicu OSS.

Aturan konfigurasi untuk pemicu OSS native

Untuk mencegah pembuatan pemicu duplikat di bucket yang sama—yang dapat menyebabkan satu event mengaktifkan beberapa pemicu—Function Compute mensyaratkan bahwa konfigurasi pemicu dalam satu bucket harus memenuhi ketentuan berikut:

  • Kombinasi event pemicu, prefix file, dan suffix file harus unik.

  • Pemicu baru hanya dapat dibuat jika kombinasi event pemicu, prefix file, dan suffix file-nya tidak bertentangan dengan pemicu yang sudah ada.

Tabel berikut memberikan contoh aturan konfigurasi untuk pemicu OSS native.

Pemicu yang ada

Pemicu baru

Berhasil dibuat?

Deskripsi

Triggering event

File prefix

File suffix

Triggering event

File prefix

File suffix

oss:ObjectCreated:PutObject

source

zip

oss:ObjectCreated:*

source

zip

Gagal

oss:ObjectCreated:* merupakan superset dari semua jenis event ObjectCreated. Event oss:ObjectCreated:* pada pemicu baru cocok dengan event oss:ObjectCreated:PutObject pada pemicu yang ada yang memiliki file prefix dan suffix yang sama.

source1

zip1

Berhasil

Jenis event dan File prefix pada pemicu baru cocok dengan pemicu yang ada, tetapi File suffix-nya tidak cocok.

oss:ObjectCreated:PutObject

source

zip

Gagal

Jenis event, File prefix, dan File suffix pada pemicu baru semuanya cocok dengan pemicu yang ada.

source

1zip

Gagal

source1

zip

Gagal

source

None

Gagal

Jenis event dan File prefix pada pemicu baru cocok dengan pemicu yang ada. Jika File suffix tidak diatur, maka mencakup objek dengan suffix zip. Artinya, File suffix juga cocok.

None

zip

Tidak

Jenis event dan File suffix pada pemicu baru cocok dengan pemicu yang ada. Jika File prefix tidak diatur, maka mencakup objek dengan prefix source. Artinya, File prefix juga cocok.

source1

zip1

Berhasil

Jenis event dan File prefix pada pemicu baru cocok dengan pemicu yang ada, tetapi File suffix tidak cocok.

1source

1zip

Berhasil

Jenis event dan File suffix pada pemicu baru cocok dengan pemicu yang ada, tetapi File prefix tidak cocok.

oss:ObjectCreated:PostObject

source

zip

Berhasil

Jenis event pada pemicu baru tidak cocok dengan pemicu yang ada.

Catatan

Prefix file dicocokkan dari awal nama objek, sedangkan suffix file dicocokkan dari akhir.

Bagian berikut menjelaskan dua jenis konflik. Pemicu baru tidak dapat dibuat jika kedua jenis konflik tersebut terjadi sekaligus. Namun, pemicu baru dapat dibuat jika hanya satu jenis konflik terjadi atau tidak ada konflik sama sekali.

Konflik jenis event

Jenis event pemicu yang ada

Jenis event pemicu baru

Deskripsi konflik

oss:ObjectCreated:PutObject

oss:ObjectCreated:*

oss:ObjectCreated:* mencakup oss:ObjectCreated:PutObject. Hal ini menyebabkan konflik event.

oss:ObjectCreated:*

oss:ObjectCreated:PostObject

Konflik pencocokan path

Path pemicu yang ada

Path pemicu baru

Deskripsi konflik

source/.zip

1source/.zip

Prefix tidak cocok, suffix cocok. Tidak ada konflik path.

source/.zip

source/.zip1

Prefix cocok, suffix tidak cocok. Tidak ada konflik path.

source/.zip

source/.zip

Prefix cocok, suffix cocok. Konflik path.

Penting

Jika Anda ingin menggunakan jenis event OSS yang sama untuk memicu fungsi berbeda guna menangani tugas pemrosesan berbeda, Anda dapat membuat pemicu OSS berbasis EventBridge.

FAQ

Referensi

  • Konfigurasi pemicu

    Untuk informasi selengkapnya tentang cara mengonfigurasi dan menggunakan pemicu OSS native serta pemicu OSS berbasis EventBridge, lihat Konfigurasi pemicu OSS native dan Konfigurasi pemicu OSS berbasis EventBridge.

  • Pertanyaan tentang pemicu

    • Jika Anda ingin memeriksa event mana yang mengeksekusi fungsi, Anda dapat mencetak log jenis event dari logika kode Anda. Untuk informasi selengkapnya, lihat Catatan log.

    • Jika Anda ingin memanggil fungsi lain dari dalam suatu fungsi, Anda dapat menggunakan API untuk memanggil fungsi tersebut. Untuk informasi selengkapnya, lihat Apakah fungsi dapat saling memanggil?