Pemicu Cloud Storage (generasi ke-1)

Dalam fungsi Cloud Run, pemicu Cloud Storage memungkinkan fungsi dipanggil sebagai respons terhadap perubahan pada Cloud Storage. Saat menentukan pemicu Cloud Storage untuk suatu fungsi, Anda memilih jenis peristiwa dan menentukan bucket Cloud Storage. Fungsi Anda akan dipanggil setiap kali terjadi perubahan pada objek (file) di dalam bucket yang ditentukan.

Jenis peristiwa Cloud Storage berikut ini didukung:

Acara Jenis peristiwa Deskripsi
Objek diselesaikan
  • google.storage.object.finalize
Terjadi saat objek baru dibuat, atau objek yang ada ditimpa dan pembuatan baru objek tersebut dibuat.
Objek telah dihapus
  • google.storage.object.delete
Terjadi saat objek dihapus secara permanen.
Objek diarsipkan
  • google.storage.object.archive
Terjadi saat versi aktif sebuah objek menjadi versi lama. Lihat Pembuatan versi objek untuk informasi selengkapnya.
Metadata objek diperbarui
  • google.storage.object.metadataUpdate
Dikirim saat terjadi perubahan terhadap metadata objek yang ada.

Agar fungsi dapat menggunakan pemicu Cloud Storage, pemicu harus diimplementasikan sebagai fungsi yang dipicu peristiwa:

Tujuan Acara Google berisi resource tambahan untuk menangani data peristiwa.

Deployment

Anda dapat menentukan pemicu Cloud Storage saat men-deploy fungsi. Lihat Deploy fungsi Cloud Run untuk petunjuk umum tentang cara men-deploy fungsi, dan lihat yang berikut ini untuk informasi tambahan khusus untuk mengonfigurasi pemicu Cloud Storage selama deployment.

gcloud

Jika akan men-deploy menggunakan gcloud CLI, Anda dapat menggunakan jenis peristiwa Object completed Cloud Storage dengan flag berikut:

gcloud functions deploy YOUR_FUNCTION_NAME \
--trigger-bucket=YOUR_STORAGE_BUCKET \
[--retry] \
...
  • Flag --trigger-bucket menentukan bucket Cloud Storage yang akan dipantau oleh pemicu. Peristiwa Objek diselesaikan dalam bucket ini akan memicu panggilan ke fungsi Anda.
  • Flag --retry mengontrol apakah panggilan fungsi yang gagal akan dicoba ulang secara otomatis. Lihat Mencoba kembali fungsi berbasis peristiwa untuk mengetahui informasi selengkapnya.

Untuk menggunakan jenis peristiwa selain Object diselesaikan, gunakan tanda berikut:

  gcloud functions deploy YOUR_FUNCTION_NAME 
--trigger-event=EVENT_TYPE
--trigger-resource=YOUR_STORAGE_BUCKET
...

Peristiwa Cloud Storage lama

Fungsi lama di fungsi Cloud Run (generasi ke-1) menggunakan versi lama notifikasi perubahan objek untuk pemicu Cloud Storage:

gcloud functions deploy YOUR_FUNCTION_NAME \
--trigger-event=providers/cloud.storage/eventTypes/object.change \
--trigger-resource=YOUR_STORAGE_BUCKET \
...

Jenis peristiwa ini didukung untuk fungsi lama yang telah menggunakan peristiwa ini. Namun, sebaiknya jangan gunakan jenis peristiwa ini karena dihapus di masa mendatang.

Konsol

Jika Anda melakukan deployment menggunakan Konsol Google Cloud, Anda dapat mengonfigurasi pemicu Cloud Storage di bagian Pemicu:

  1. Di kolom Jenis pemicu, pilih Cloud Storage.
  2. Di kolom Jenis peristiwa, pilih jenis peristiwa.
  3. Di kolom Bucket, klik Browse untuk memilih Bucket Cloud Storage yang akan dipantau oleh pemicu. Perubahan pada objek dalam bucket ini akan memicu panggilan ke fungsi Anda.
  4. Centang atau hapus centang pada kotak Coba lagi saat gagal untuk mengontrol apakah panggilan fungsi yang gagal akan dicoba ulang secara otomatis. Lihat Mencoba kembali fungsi berbasis peristiwa untuk informasi selengkapnya.

Pengiriman acara

Pemicu Cloud Storage diimplementasikan dengan notifikasi Pub/Sub untuk Cloud Storage. Peristiwa tunduk pada jaminan pengiriman notifikasi Pub/Sub.

Bucket Cloud Storage dapat memiliki hingga 10 konfigurasi notifikasi yang ditetapkan untuk dipicu untuk peristiwa tertentu. Melebihi batas notifikasi bucket akan menyebabkan deployment fungsi lebih lanjut gagal dengan error seperti berikut:

Cloud Storage bucket ...: Pub/Sub notification limit reached

Lihat Kuota dan batas Cloud Storage untuk mempelajari lebih lanjut.

Langkah berikutnya