全部产品
Search
文档中心

Function Compute:Apa yang harus saya lakukan jika sebuah fungsi dipicu beberapa kali ketika sebuah objek diunggah ke OSS?

更新时间:Jul 06, 2025

Jika pemicu Object Storage Service (OSS) dipicu beberapa kali saat Anda mengunggah sebuah objek ke OSS, periksa apakah parameter Trigger Event telah dikonfigurasi dengan benar.

Penyebab yang mungkin

Pemicuan berulang pemicu OSS saat mengunggah sebuah objek dapat terjadi jika aturan pemicu mencakup wildcard. Hal ini menyebabkan beberapa peristiwa yang dihasilkan selama pengunggahan satu objek cocok dengan aturan tersebut, sehingga memicu beberapa eksekusi fungsi.

Sebagai contoh, jika Anda menggunakan fitur unggah multipart untuk mengunggah objek ke OSS, peristiwa oss:ObjectCreated:InitiateMultipartUpload, oss:ObjectCreated:UploadPart, dan oss:ObjectCreated:CompleteMultipartUpload akan dipicu secara berurutan. Jika Anda menetapkan Trigger Event dari pemicu OSS ke oss:ObjectCreated:*, fungsi Anda akan dipicu lima kali saat mengunggah objek berukuran 12 MB menggunakan OSS Browser dengan ukuran bagian 5 MB. Berikut adalah daftar peristiwa pemicu:

  • oss:ObjectCreated:InitiateMultipartUpload

  • oss:ObjectCreated:UploadPart

  • oss:ObjectCreated:UploadPart

  • oss:ObjectCreated:UploadPart

  • oss:ObjectCreated:CompleteMultipartUpload

Untuk memastikan pemicu hanya dipicu sekali pada unggahan multipart, tetapkan Trigger Event ke oss:ObjectCreated:CompleteMultipartUpload.

Solusi

Hapus wildcard dari aturan pencocokan dan konfigurasikan peristiwa yang spesifik. Sebagai contoh, Anda dapat menetapkan Trigger Event untuk sebuah pemicu ke oss:ObjectCreated:PutObject, oss:ObjectCreated:PostObject, dan oss:ObjectCreated:CompleteMultipartUpload. Berikut adalah penjelasan rinci dari setiap peristiwa:

  • oss:ObjectCreated:PutObject: membuat atau menimpa objek menggunakan unggahan sederhana.

  • oss:ObjectCreated:PostObject: membuat atau menimpa objek menggunakan unggahan formulir.

  • oss:ObjectCreated:CompleteMultipartUpload: menyelesaikan unggahan multipart.