Pemicu Cloud Storage

Di fungsi Cloud Run, pemicu Cloud Storage memungkinkan suatu fungsi dipanggil sebagai respons terhadap perubahan dalam 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.cloud.storage.object.v1.finalized (melalui Eventarc)
Terjadi saat objek baru dibuat, atau objek yang ada ditimpa dan pembuatan baru objek tersebut dibuat.
Objek telah dihapus
  • google.cloud.storage.object.v1.deleted (melalui Eventarc)
Terjadi saat objek dihapus secara permanen.
Objek diarsipkan
  • google.cloud.storage.object.v1.archived (melalui Eventarc)
Terjadi saat versi aktif sebuah objek menjadi versi lama. Lihat Pembuatan versi objek untuk informasi selengkapnya.
Metadata objek diperbarui
  • google.cloud.storage.object.v1.metadataUpdated (melalui Eventarc)
Dikirim saat terjadi perubahan terhadap metadata objek yang ada.

Pemicu Cloud Storage diimplementasikan sebagai fungsi CloudEvent, yang meneruskan data peristiwa Cloud Storage ke fungsi Anda dalam format CloudEvents, dan payload data CloudEvent berjenis StorageObjectData.

Repositori Google Events berisi resource tambahan untuk menangani data peristiwa.

Izin

Untuk menggunakan pemicu Cloud Storage di fungsi Cloud Run, agen layanan Cloud Storage harus memiliki peran IAM Penayang Pub/Sub (roles/pubsub.publisher) di project Anda.

Deployment

Anda dapat menentukan pemicu Cloud Storage saat men-deploy fungsi. Lihat Men-deploy fungsi Cloud Run untuk mengetahui petunjuk umum tentang cara men-deploy fungsi, dan lihat informasi berikut untuk mengetahui informasi tambahan khusus terkait cara 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 
--gen2
--trigger-event-filters="type=EVENT_TYPE"
--trigger-event-filters="bucket=YOUR_STORAGE_BUCKET"
...

Saat men-deploy fungsi, tentukan nama bucket saja tanpa awalan gs://; misalnya, --trigger-event-filters="bucket=my-bucket".

Konsol

Jika men-deploy 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 peristiwa pemicu. Defaultnya adalah google.cloud.storage.object.v1.finalized.

    Untuk peristiwa Cloud Storage yang menggunakan Cloud Audit Logs, lihat petunjuk konfigurasi pemicu untuk pemicu Eventarc.

  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 fungsi Cloud Run akan otomatis mencoba ulang pemanggilan fungsi yang gagal. Lihat Mencoba ulang fungsi berbasis peristiwa untuk mengetahui informasi selengkapnya.

  5. Klik Opsi lainnya untuk melakukan konfigurasi tambahan pada pemicu Anda:

    • Di kolom Jenis pemicu, tentukan salah satu Sumber Google, Kustom, atau Pihak ketiga:

      • Dengan Sumber Google, Anda dapat menentukan pemicu untuk Pub/Sub, Cloud Storage, Firestore, dan penyedia peristiwa Google lainnya.Di panel Pemicu Eventarc, gunakan kolom Penyedia peristiwa untuk memilih produk yang menyediakan jenis peristiwa yang Anda inginkan untuk memicu fungsi. Kemudian, di kolom Peristiwa, pilih peristiwa yang ingin Anda gunakan sebagai pemicu.

      • Opsi Kustom memungkinkan Anda membuat dan menggunakan peristiwa dari kode aplikasi. Ikuti petunjuk di panel Pemicu Eventarc untuk membuat saluran. Saluran adalah resource yang digunakan sebagai pipeline untuk menayangkan peristiwa kustom dari produsen ke konsumen. Peristiwa kustom dipublikasikan ke saluran dan pemicu Eventarc berlangganan ke peristiwa tersebut.

      • Opsi Pihak ketiga memungkinkan Anda berintegrasi dengan penyedia non-Google yang menawarkan sumber Eventarc. Lihat peristiwa pihak ketiga di Eventarc untuk mengetahui detailnya.

    • Di kolom Peristiwa, pilih peristiwa pemicu. Defaultnya adalah google.cloud.storage.object.v1.finalized.

    • Secara opsional, di kolom Service account, pilih akun layanan yang akan digunakan sebagai identitas pemicu Eventarc. Lihat Identitas pemicu untuk mengetahui informasi selengkapnya.

  6. Klik Save trigger.

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