Menerima peristiwa langsung dari Cloud Storage (Google Cloud konsol)
Panduan memulai ini menunjukkan cara menerima peristiwa langsung dari Cloud Storage di layanan Cloud Run yang tidak diautentikasi.
Anda dapat mengonfigurasi pemicuan notifikasi sebagai respons terhadap berbagai peristiwa di dalam bucket Cloud Storage—pembuatan, penghapusan, pengarsipan, dan pembaruan metadata objek. Untuk mengetahui informasi selengkapnya, lihat Membuat pemicu untuk merutekan peristiwa Cloud Storage ke Cloud Run.
Anda dapat menyelesaikan panduan memulai ini menggunakan konsol Google Cloud . Untuk mengetahui petunjuk menggunakan Google Cloud CLI, lihat Menerima peristiwa langsung dari Cloud Storage (gcloud CLI).
Dalam panduan memulai ini, Anda akan:
Buat bucket Cloud Storage untuk menjadi sumber peristiwa.
Deploy layanan contoh ke Cloud Run untuk menerima peristiwa.
Buat pemicu Eventarc untuk memfilter dan merutekan peristiwa.
Buat peristiwa dengan mengupload file ke bucket Cloud Storage, dan lihat peristiwa tersebut di log Cloud Run.
Untuk mengikuti panduan langkah demi langkah untuk tugas ini langsung di Google Cloud konsol, klik Pandu saya:
Sebelum memulai
Batasan keamanan yang ditentukan oleh organisasi mungkin mencegah Anda menyelesaikan langkah-langkah berikut. Untuk mengetahui informasi pemecahan masalah, lihat Mengembangkan aplikasi di lingkungan yang terbatas Google Cloud .
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Eventarc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Eventarc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Admin Cloud Run (
roles/run.admin) -
Eventarc Admin (
roles/eventarc.admin) -
Logs Viewer (
roles/logging.viewer) -
Project IAM Admin (
roles/resourcemanager.projectIamAdmin) -
Service Account User (
roles/iam.serviceAccountUser) -
Storage Admin (
roles/storage.admin) Di konsol Google Cloud , buka halaman Cloud Storage > Overview.
Klik Buat bucket.
Masukkan Nama unik untuk bucket Anda.
Misalnya,
hello-bucket.Klik Lanjutkan.
Untuk Location type, pilih Region, lalu pilih us-central1 (Iowa).
Terima setelan default lainnya.
Klik Buat.
Di konsol Google Cloud , buka halaman Services Cloud Run.
Klik Deploy container > Service.
Di formulir Create service:
Pilih Men-deploy satu revisi dari image container yang sudah ada.
Klik Uji dengan container contoh.
Di daftar Region, untuk lokasi layanan Anda, pilih us-central1 (Iowa).
Untuk Authentication, pilih Allow public access.
Terima setelan default lainnya.
Untuk men-deploy contoh image container, klik Buat.
Di konsol Google Cloud , buka halaman Eventarc > Triggers.
Klik Create trigger.
Ketik Trigger name.
Misalnya,
hello-trigger.Dalam daftar Jenis pemicu, pilih Sumber Google.
Filter ini memfilter peristiwa yang dikirim dari Google Cloud penyedia (secara langsung atau melalui entri Cloud Audit Logs), atau penyedia yang menggunakan pesan Pub/Sub.
Dalam daftar Event provider, pilih Cloud Storage.
Dalam daftar Event type, pilih Direct > google.cloud.storage.object.v1.finalized.
Untuk Bucket, pilih bucket Cloud Storage hello-bucket yang Anda buat sebelumnya.
Jika diminta, berikan peran berikut:
- Service Account Token Creator
(
roles/iam.serviceAccountTokenCreator) ke akun layanan Pub/Sub - Eventarc Event Receiver
(
roles/eventarc.eventReceiver) ke akun layanan Compute Engine default - Pub/Sub Publisher
(
roles/pubsub.publisher) ke akun layanan Cloud Storage
- Service Account Token Creator
(
Gunakan Akun layanan komputasi default sebagai akun layanan yang memanggil layanan Anda.
Dalam daftar Tujuan peristiwa, pilih Cloud Run.
Untuk layanan Cloud Run, pilih layanan hello contoh yang Anda buat sebelumnya.
Terima setelan default lainnya.
Klik Buat.
Untuk membuat peristiwa:
Buat file teks dengan nama file
random.txtdan teks "Hello World".Di konsol Google Cloud , buka halaman Cloud Storage > Buckets.
Klik nama bucket penyimpanan yang Anda buat.
Di tab Objects, klik Upload files, lalu upload file
random.txt.
Hasil upload ini akan membuat peristiwa dan layanan Cloud Run akan mencatat pesan peristiwa tersebut ke dalam log.
Untuk melihat entri log:
Di konsol Google Cloud , buka halaman Services Cloud Run.
Klik nama layanan yang Anda buat.
Untuk mengambil entri log untuk semua revisi layanan ini, di halaman Service details, klik tab Logs. Anda dapat memfilter berdasarkan tingkat keparahan log.
Cari entri log yang mirip dengan:
Received event of type google.cloud.storage.object.v1.finalized. Event data: [...]
Di konsol Google Cloud , buka halaman Pemicu Eventarc.
Klik nama pemicu yang Anda buat.
Di halaman Detail pemicu, klik Hapus.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan panduan memulai ini, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Membuat bucket Cloud Storage
Panduan memulai ini menggunakan Cloud Storage sebagai sumber peristiwa.Setelah sumber peristiwa dibuat, Anda dapat men-deploy layanan penerima peristiwa ke Cloud Run.
Men-deploy layanan penerima peristiwa ke Cloud Run
Deploy layanan Cloud Run contoh yang menerima dan mencatat peristiwa ke dalam log.
Deployment layanan hello dapat memerlukan waktu hingga dua menit untuk diselesaikan.
Membuat pemicu Eventarc
Pemicu Eventarc akan mengirimkan peristiwa dari bucket Cloud Storage ke layanan Cloud Run contoh.Mungkin perlu waktu beberapa menit sebelum semua izin yang diperlukan disebarkan ke
agen layanan Eventarc. Jika Anda menerima error Permission denied
while using the Eventarc Service Agent, tunggu beberapa menit, lalu coba
lagi. Setelah pemicu dibuat, diperlukan waktu hingga dua menit agar pemicu
berfungsi sepenuhnya.
Membuat dan melihat peristiwa
Buat peristiwa dan konfirmasi bahwa pemicu Eventarc berfungsi seperti yang diharapkan.
Selamat! Anda telah berhasil men-deploy layanan penerima peristiwa ke Cloud Run, membuat pemicu Eventarc, membuat peristiwa dari Cloud Storage, dan menampilkannya di log Cloud Run.
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.
Meskipun Cloud Run tidak mengenakan biaya saat layanannya tidak digunakan, Anda mungkin tetap dikenai biaya untuk menyimpan image container di Container Registry, resource Cloud Run, dan menyimpan file di bucket Cloud Storage.Anda dapat menghapus image, menghapus bucket penyimpanan, dan menghapus layanan Cloud Run.
Untuk menghapus pemicu Eventarc:
Atau, Anda dapat menghapus Google Cloud project untuk menghindari tagihan. Menghapus project Google Cloud akan menghentikan penagihan untuk semua resource yang digunakan dalam project tersebut.