Deskripsi masalah
Trigger gagal memicu eksekusi fungsi.
Penyebab yang mungkin
Berikut adalah kemungkinan penyebabnya:
Aturan pemicuan yang dikonfigurasikan tidak terpenuhi.
Peran yang dikonfigurasikan untuk trigger salah.
Solusi
Solusi 1: Periksa apakah aturan pemicuan terpenuhi
Berikut adalah aturan pemicuan dari trigger umum:
Trigger OSS
Bucket Object Storage Service (OSS) dan fungsi Anda harus berada di wilayah yang sama.
Prefiks atau sufiks objek yang diunggah harus sesuai dengan prefiks atau sufiks objek yang ditentukan untuk trigger.
Sebagai contoh, jika Anda mengatur prefiks objek menjadi ab, dan mengunggah objek a/b.zip, ab.zip, dan abc.zip ke OSS, hanya ab.zip dan abc.zip yang dapat memicu eksekusi fungsi.
Event OSS harus sesuai dengan event trigger. Jika tidak, eksekusi fungsi tidak akan dipicu. Berikut adalah kasus-kasus di mana event OSS tidak sesuai dengan event trigger:
Anda menggunakan ossbrowser untuk mengunggah objek menggunakan multipart upload. Setelah pengunggahan, nama event adalah
oss:ObjectCreated:CompleteMultipartUpload. Jika nama event trigger yang dikonfigurasikan adalahoss:ObjectCreated:PutObjectatauoss:ObjectCreated:PostObject, eksekusi fungsi tidak akan dipicu.Anda mengunggah objek di konsol Function Compute, dan nama event adalah
oss:ObjectCreated:PostObject. Namun, nama event trigger yang dikonfigurasikan adalahoss:ObjectCreated:PutObject. Anda mengunggah objek dengan memanggil operasioss:ObjectCreated:PutObject, dan nama event adalahoss:ObjectCreated:PutObject. Namun, nama event trigger yang dikonfigurasikan adalahoss:ObjectCreated:PostObject.
Ketika Anda menghapus objek dari bucket OSS yang memiliki versioning diaktifkan, Anda harus menentukan ID versi.
Jika Anda tidak menentukan ID versi ketika menggunakan ossbrowser untuk menghapus objek, event
oss:ObjectRemoved:DeleteObjectatauoss:ObjectRemoved:DeleteObjectstidak akan dipicu. Versi saat ini dari objek menjadi versi historis, dan penanda hapus ditambahkan. Untuk informasi lebih lanjut, lihat bagian "FAQ" dari topik Ikhtisar.
Trigger Tablestore
Anda harus mengatur parameter Informasi Stream ke Aktif untuk tabel data instance Tablestore. Untuk informasi lebih lanjut, lihat bagian "Langkah 1: Mengaktifkan fitur Stream untuk tabel data" dari topik Gunakan Function Compute.
Solusi 2: Periksa apakah peran trigger benar
Anda harus memeriksa apakah peran yang dikonfigurasikan untuk trigger telah dihapus, atau apakah peran tersebut memiliki izin yang diperlukan. Kami merekomendasikan agar Anda mengonfigurasi peran standar untuk trigger. Sebagai contoh, Anda dapat mengonfigurasi peran AliyunOSSEventNotificationRole untuk trigger OSS. Untuk informasi lebih lanjut, lihat Konfigurasikan trigger OSS asli.
Dukungan teknis
Jika masalah tetap ada setelah mencoba solusi di atas, bergabunglah dengan grup pengguna DingTalk (ID: 11721331) untuk dukungan teknis. Anda harus menyediakan informasi berikut untuk dukungan teknis: akun Alibaba Cloud Anda, bucket OSS, nama layanan, nama fungsi, dan sumber event.