Alur kerja memungkinkan Anda menjalankan tugas Cloud Run sebagai bagian dari alur kerja untuk melakukan pemrosesan data yang lebih kompleks atau mengatur sistem tugas yang ada.
Tutorial ini menunjukkan cara menggunakan Alur Kerja untuk menjalankan tugas Cloud Run yang memproses data yang diteruskan sebagai variabel lingkungan ke tugas, sebagai respons terhadap peristiwa dari Cloud Storage.
Perhatikan bahwa Anda juga dapat menyimpan data peristiwa di bucket Cloud Storage yang memungkinkan Anda mengenkripsi data menggunakan kunci enkripsi yang dikelola pelanggan. Untuk mengetahui informasi selengkapnya, lihat Menjalankan tugas Cloud Run yang memproses data peristiwa yang disimpan di Cloud Storage.
Tujuan
Dalam tutorial ini, Anda akan:
- Buat tugas Cloud Run yang memproses file data di bucket Cloud Storage.
- Deploy alur kerja yang melakukan hal berikut:
- Menerima peristiwa Cloud Storage sebagai argumen.
- Memeriksa apakah bucket Cloud Storage yang ditentukan dalam peristiwa adalah bucket yang sama dengan yang digunakan oleh tugas Cloud Run.
- Jika ya, gunakan konektor Cloud Run Admin API untuk menjalankan tugas Cloud Run.
- Buat pemicu Eventarc yang menjalankan alur kerja sebagai respons terhadap peristiwa yang memengaruhi bucket Cloud Storage.
- Picu alur kerja dengan memperbarui file data input di bucket Cloud Storage.
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloud yang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
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 Google Cloud yang terbatas.
Konsol
- 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Eventarc, and Workflows APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: Cloud Run Admin, Eventarc Event Receiver, Logs Writer, Workflows Invoker.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Eventarc, and Workflows APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: Cloud Run Admin, Eventarc Event Receiver, Logs Writer, Workflows Invoker.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
-
- Sebelum membuat pemicu untuk peristiwa langsung dari Cloud Storage, berikan peran Pub/Sub Publisher (
roles/pubsub.publisher
) ke agen layanan Cloud Storage:- Di konsol Google Cloud, buka halaman IAM.
- Pilih kotak centang Sertakan pemberian peran yang disediakan Google.
- Di kolom Principal, temukan Agen Layanan Cloud Storage dengan bentuk
service-PROJECT_NUMBER@gs-project-accounts.
, lalu klik Edit principal di baris yang sesuai. - Klik Tambahkan peran atau Tambahkan peran lain.
- Di daftar Select a role, filter untuk Pub/Sub Publisher, lalu pilih peran.
- Klik Simpan.
- Di konsol Google Cloud, buka halaman IAM.
- Jika Anda mengaktifkan agen layanan Cloud Pub/Sub pada atau
sebelum 8 April 2021, untuk mendukung permintaan push
Pub/Sub yang diautentikasi, berikan
peran
Service Account Token Creator (
roles/iam.serviceAccountTokenCreator
) ke agen layanan. Jika tidak, peran ini akan diberikan secara default:- Di konsol Google Cloud, buka halaman IAM.
- Pilih kotak centang Sertakan pemberian peran yang disediakan Google.
- Di kolom Name, temukan Cloud Pub/Sub Service Account, lalu klik Edit principal di baris yang sesuai.
- Klik Tambahkan peran atau Tambahkan peran lain.
- Di daftar Select a role, filter untuk Service Account Token Creator, lalu pilih peran tersebut.
- Klik Simpan.
- Di konsol Google Cloud, buka halaman IAM.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Cloud Shell mendukung perintah
/dev/urandom
dalam
tutorial ini yang menghasilkan angka pseudorandom.
gcloud
Untuk menggunakan terminal online dengan gcloud CLI yang sudah disiapkan, aktifkan Cloud Shell:
Di bagian bawah halaman ini, sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Perlu waktu beberapa detik hingga sesi dimulai.
Cloud Shell mendukung perintah
/dev/urandom
dalam tutorial ini yang menghasilkan angka pseudorandom.- Membuat atau memilih project Google Cloud.
-
Membuat project Google Cloud:
gcloud projects create PROJECT_ID
-
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
-
- Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
- Aktifkan Artifact Registry, Cloud Build,
Cloud Run, Cloud Storage, Eventarc,
and Workflows API:
gcloud services enable artifactregistry.googleapis.com \ cloudbuild.googleapis.com \ eventarc.googleapis.com \ run.googleapis.com \ storage.googleapis.com \ workflows.googleapis.com
- Buat akun layanan untuk alur kerja Anda yang akan digunakan untuk autentikasi
dengan layanan Google Cloud lainnya dan berikan peran yang sesuai.
- Buat akun layanan:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Ganti
SERVICE_ACCOUNT_NAME
dengan nama untuk akun layanan. - Berikan peran ke akun layanan yang dikelola pengguna yang Anda buat di langkah sebelumnya. Jalankan perintah berikut satu kali untuk setiap peran IAM berikut atau Anda dapat menggunakan flag
--role
beberapa kali dalam satu perintah:roles/eventarc.eventReceiver
: untuk menerima peristiwaroles/logging.logWriter
: untuk menulis logroles/run.admin
: untuk menjalankan tugas Cloud Runroles/workflows.invoker
: untuk memanggil alur kerja
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID. \ --role=ROLE
Ganti kode berikut:
PROJECT_ID
: project ID tempat Anda membuat akun layananROLE
: peran yang akan diberikan ke akun layanan yang dikelola pengguna
- Buat akun layanan:
- Sebelum membuat pemicu untuk peristiwa langsung dari Cloud Storage,
berikan peran Pub/Sub
Publisher (
roles/pubsub.publisher
) ke agen layanan Cloud Storage:SERVICE_ACCOUNT="$(gcloud storage service-agent --project=PROJECT_ID)" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role='roles/pubsub.publisher'
- Jika Anda mengaktifkan agen layanan Cloud Pub/Sub pada atau sebelum
8 April 2021, untuk mendukung permintaan push Pub/Sub yang diautentikasi, berikan
peran
Service Account Token Creator (
roles/iam.serviceAccountTokenCreator
) ke agen layanan. Jika tidak, peran ini akan diberikan secara default:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-pubsub. \ --role=roles/iam.serviceAccountTokenCreator
Ganti PROJECT_NUMBER
dengan nomor project
Google Cloud Anda. Anda dapat menemukan nomor project di halaman
Selamat Datang
pada Konsol Google Cloud atau dengan menjalankan perintah berikut:
gcloud projects describe PROJECT_ID --format='value(projectNumber)'
Terraform
Untuk menggunakan terminal online dengan gcloud CLI yang sudah disiapkan, aktifkan Cloud Shell:
Di bagian bawah halaman ini, sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Perlu waktu beberapa detik hingga sesi dimulai.
Cloud Shell mendukung perintah
/dev/urandom
dalam tutorial ini yang menghasilkan angka pseudorandom.- Membuat atau memilih project Google Cloud.
-
Membuat project Google Cloud:
gcloud projects create PROJECT_ID
-
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
-
- Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
- Aktifkan Artifact Registry, Cloud Build,
Cloud Run, Cloud Storage, Eventarc,
and Workflows API:
gcloud services enable artifactregistry.googleapis.com \ cloudbuild.googleapis.com \ eventarc.googleapis.com \ run.googleapis.com \ storage.googleapis.com \ workflows.googleapis.com
Buat akun layanan untuk alur kerja Anda yang akan digunakan untuk autentikasi dengan layanan Google Cloud lainnya dan berikan peran yang sesuai. Selain itu, untuk mendukung peristiwa langsung dari Cloud Storage, berikan peran Pub/Sub Publisher (
roles/pubsub.publisher
) ke agen layanan Cloud Storage.Ubah file
main.tf
Anda seperti yang ditunjukkan pada contoh berikut. Untuk mengetahui informasi selengkapnya, lihat dokumentasi penyedia Google untuk Terraform.Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Perhatikan bahwa dalam alur kerja Terraform standar, Anda menerapkan seluruh rencana sekaligus. Namun, untuk tujuan tutorial ini, Anda dapat menargetkan resource tertentu. Contoh:
terraform apply -target="google_service_account.workflows"
- Jika Anda mengaktifkan agen layanan Cloud Pub/Sub pada atau sebelum
8 April 2021, untuk mendukung permintaan push Pub/Sub yang diautentikasi, berikan
peran
Service Account Token Creator (
roles/iam.serviceAccountTokenCreator
) ke agen layanan. Jika tidak, peran ini akan diberikan secara default:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-pubsub. \ --role=roles/iam.serviceAccountTokenCreator
Ganti PROJECT_NUMBER
dengan nomor project
Google Cloud Anda. Anda dapat menemukan nomor project di halaman
Selamat Datang
pada Konsol Google Cloud atau dengan menjalankan perintah berikut:
gcloud projects describe PROJECT_ID --format='value(projectNumber)'
Membuat tugas Cloud Run
Tutorial ini menggunakan contoh tugas Cloud Run dari GitHub. Tugas ini membaca data dari file input di Cloud Storage, dan melakukan beberapa pemrosesan arbitrer untuk setiap baris dalam file.
Dapatkan kode contoh dengan meng-clone repositori aplikasi contoh ke komputer lokal Anda:
git clone https://github.com/GoogleCloudPlatform/jobs-demos.git
Atau, Anda dapat mendownload contoh sebagai file ZIP dan mengekstraknya.
Ubah ke direktori yang berisi kode contoh:
cd jobs-demos/parallel-processing
Buat bucket Cloud Storage untuk menyimpan file input yang dapat ditulis dan memicu peristiwa:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
- Klik add Create.
- Di halaman Create a bucket, masukkan nama untuk bucket Anda:
Gantiinput-PROJECT_ID
PROJECT_ID
dengan ID project Google Cloud Anda. - Pertahankan setelan default lainnya.
- Klik Create.
gcloud
Jalankan perintah
gcloud storage buckets create
:gcloud storage buckets create gs://input-PROJECT_ID
Jika permintaan berhasil, perintah akan menampilkan pesan berikut ini:
Creating gs://input-PROJECT_ID/...
Terraform
Untuk membuat bucket Cloud Storage, gunakan resource
google_storage_bucket
dan ubah filemain.tf
Anda seperti yang ditunjukkan dalam contoh berikut.Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Perhatikan bahwa dalam alur kerja Terraform standar, Anda menerapkan seluruh rencana sekaligus. Namun, untuk tujuan tutorial ini, Anda dapat menargetkan resource tertentu. Contoh:
terraform apply -target="random_id.bucket_name_suffix"
dan
terraform apply -target="google_storage_bucket.default"
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Buat repositori standar Artifact Registry tempat Anda dapat menyimpan image container:
Konsol
Di konsol Google Cloud, buka halaman Repositori Artifact Registry:
Klik
Buat repositori.Masukkan nama untuk repositori—misalnya,
my-repo
. Untuk setiap lokasi repositori dalam project, nama repositori harus unik.Pertahankan format default yang seharusnya Docker.
Mempertahankan mode default yang seharusnya Standar.
Untuk region, pilih us-central1 (Iowa).
Pertahankan semua setelan default lainnya.
Klik Create.
gcloud
Jalankan perintah:
gcloud artifacts repositories create REPOSITORY \ --repository-format=docker \ --location=us-central1
Ganti
REPOSITORY
dengan nama unik untuk repositori, misalnya,my-repo
. Untuk setiap lokasi repositori dalam project, nama repositori harus unik.Terraform
Untuk membuat repositori Artifact Registry, gunakan resource
google_artifact_registry_repository
dan ubah filemain.tf
Anda seperti yang ditunjukkan dalam contoh berikut.Perhatikan bahwa dalam alur kerja Terraform standar, Anda menerapkan seluruh rencana sekaligus. Namun, untuk tujuan tutorial ini, Anda dapat menargetkan resource tertentu. Contoh:
terraform apply -target="google_artifact_registry_repository.default"
Build image container menggunakan buildpack Google Cloud default:
export SERVICE_NAME=parallel-job gcloud builds submit \ --pack image=us-central1-docker.pkg.dev/PROJECT_ID/REPOSITORY/${SERVICE_NAME}
Ganti
REPOSITORY
dengan nama repositori Artifact Registry Anda.Mungkin perlu waktu beberapa menit hingga build selesai.
Buat tugas Cloud Run yang men-deploy image container:
Konsol
Di konsol Google Cloud, buka halaman Cloud Run:
Klik Buat tugas untuk menampilkan formulir Buat tugas.
- Di formulir, pilih
us-central1-docker.pkg.dev/PROJECT_ID/REPOSITORY/parallel-job:latest
sebagai URL image container Artifact Registry. - Opsional: Untuk nama tugas, masukkan
parallel-job
. - Opsional: Untuk region, pilih us-central1 (Iowa).
- Untuk jumlah tugas yang ingin Anda jalankan dalam tugas, masukkan
10
. Semua tugas harus berhasil agar tugas berhasil. Secara default, tugas dijalankan secara paralel.
- Di formulir, pilih
Luaskan bagian Container, Variables & Secrets, Connections, Security dan pertahankan semua setelan default, kecuali setelan berikut:
Klik tab General.
- Untuk perintah penampung, masukkan
python
. - Untuk argumen penampung, masukkan
process.py
.
- Untuk perintah penampung, masukkan
Klik tab Variabel & Secret.
- Klik Tambahkan variabel, lalu masukkan
INPUT_BUCKET
untuk nama daninput-PROJECT_ID
untuk nilai. - Klik Tambahkan variabel, lalu masukkan
INPUT_FILE
untuk nama daninput_file.txt
untuk nilai.
- Klik Tambahkan variabel, lalu masukkan
Untuk membuat tugas, klik Buat.
gcloud
Tetapkan region Cloud Run default:
gcloud config set run/region us-central1
Buat tugas Cloud Run:
gcloud run jobs create parallel-job \ --image us-central1-docker.pkg.dev/PROJECT_ID/REPOSITORY/parallel-job:latest \ --command python \ --args process.py \ --tasks 10 \ --set-env-vars=INPUT_BUCKET=input-PROJECT_ID,INPUT_FILE=input_file.txt
Perhatikan bahwa jika Anda tidak menentukan tag gambar, Artifact Registry akan mencari gambar dengan tag
latest
default.Untuk mengetahui daftar lengkap opsi yang tersedia saat membuat tugas, lihat dokumentasi command line buat tugas gcloud run.
Setelah tugas dibuat, Anda akan melihat pesan yang menunjukkan keberhasilan.
Terraform
Untuk membuat tugas Cloud Run, gunakan resource
google_cloud_run_v2_job
dan ubah filemain.tf
Anda seperti yang ditunjukkan dalam contoh berikut.Perhatikan bahwa dalam alur kerja Terraform standar, Anda menerapkan seluruh rencana sekaligus. Namun, untuk tujuan tutorial ini, Anda dapat menargetkan resource tertentu. Contoh:
terraform apply -target="google_cloud_run_v2_job.default"
Men-deploy alur kerja yang menjalankan tugas Cloud Run
Tentukan dan deploy alur kerja yang menjalankan tugas Cloud Run yang baru saja Anda buat. Definisi alur kerja terdiri dari serangkaian langkah yang dijelaskan menggunakan sintaksis Alur Kerja.
Konsol
Di konsol Google Cloud, buka halaman Workflows:
Klik
Buat.Masukkan nama untuk alur kerja baru, seperti
cloud-run-job-workflow
.Untuk region, pilih us-central1 (Iowa).
Di kolom Service account, pilih akun layanan yang Anda buat sebelumnya.
Akun layanan berfungsi sebagai identitas alur kerja. Anda seharusnya telah memberi peran Cloud Run Admin ke akun layanan sehingga alur kerja dapat menjalankan tugas Cloud Run.
Klik Berikutnya.
Di editor alur kerja, masukkan definisi berikut untuk alur kerja Anda:
Klik Deploy.
gcloud
Buat file kode sumber untuk alur kerja Anda:
touch cloud-run-job-workflow.yaml
Salin definisi alur kerja berikut ke file kode sumber Anda:
Deploy alur kerja dengan memasukkan perintah berikut:
gcloud workflows deploy cloud-run-job-workflow \ --location=us-central1 \ --source=cloud-run-job-workflow.yaml \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.
Ganti kode berikut:
SERVICE_ACCOUNT_NAME
: nama akun layanan yang Anda buat sebelumnyaPROJECT_ID
: ID project Google Cloud Anda
Akun layanan berfungsi sebagai identitas alur kerja. Anda seharusnya telah memberikan peran
roles/run.admin
ke akun layanan sehingga alur kerja dapat menjalankan tugas Cloud Run.
Terraform
Untuk membuat alur kerja, gunakan
resource google_workflows_workflow
dan ubah file main.tf
Anda seperti yang ditunjukkan dalam contoh berikut.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Perhatikan bahwa dalam alur kerja Terraform standar, Anda menerapkan seluruh rencana sekaligus. Namun, untuk tujuan tutorial ini, Anda dapat menarget resource tertentu. Contoh:
terraform apply -target="google_workflows_workflow.default"
Alur kerja ini melakukan hal berikut:
Langkah
init
—Menerima peristiwa Cloud Storage sebagai argumen, lalu menetapkan variabel yang diperlukan.Langkah
check_input_file
—Memeriksa apakah bucket Cloud Storage yang ditentukan dalam peristiwa adalah bucket yang digunakan oleh tugas Cloud Run.- Jika ya, alur kerja akan dilanjutkan ke langkah
run_job
. - Jika tidak, alur kerja akan dihentikan, sehingga menghentikan pemrosesan lebih lanjut.
- Jika ya, alur kerja akan dilanjutkan ke langkah
Langkah
run_job
—Menggunakan metodegoogleapis.run.v1.namespaces.jobs.run
konektor Cloud Run Admin API untuk mengeksekusi tugas. Nama bucket Cloud Storage dan file data diteruskan sebagai variabel penggantian dari alur kerja ke tugas.Langkah
finish
—Menampilkan informasi tentang eksekusi tugas sebagai hasil dari alur kerja.
Membuat pemicu Eventarc untuk alur kerja
Untuk menjalankan alur kerja secara otomatis dan pada akhirnya tugas Cloud Run setiap kali file data input diperbarui, buat pemicu Eventarc yang merespons peristiwa Cloud Storage di bucket yang berisi file data input.
Konsol
Di konsol Google Cloud, buka halaman Workflows:
Klik nama alur kerja Anda, seperti
cloud-run-job-workflow
.Di halaman Detail alur kerja, klik
Edit.Di halaman Edit alur kerja, di bagian Pemicu, klik Tambahkan pemicu baru > Eventarc.
Panel Pemicu Eventarc akan terbuka.
Di kolom Nama pemicu, masukkan nama untuk pemicu, seperti
cloud-run-job-workflow-trigger
.Dari daftar Penyedia peristiwa, pilih Cloud Storage.
Dari daftar Peristiwa, pilih google.cloud.storage.object.v1.finalized.
Di kolom Bucket, pilih bucket yang berisi file data input. Nama bucket memiliki format
input-PROJECT_ID
.Di kolom Service account, pilih akun layanan yang Anda buat sebelumnya.
Akun layanan berfungsi sebagai identitas pemicu. Anda seharusnya sudah memberikan peran berikut ke akun layanan:
- Eventarc Event Receiver: untuk menerima peristiwa
- Workflows Invoker: untuk menjalankan alur kerja
Klik Save trigger.
Pemicu Eventarc kini muncul di bagian Pemicu di halaman Edit alur kerja.
Klik Berikutnya.
Klik Deploy.
gcloud
Buat pemicu Eventarc dengan menjalankan perintah berikut:
gcloud eventarc triggers create cloud-run-job-workflow-trigger \ --location=us \ --destination-workflow=cloud-run-job-workflow \ --destination-workflow-location=us-central1 \ --event-filters="type=google.cloud.storage.object.v1.finalized" \ --event-filters="bucket=input-PROJECT_ID" \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud AndaSERVICE_ACCOUNT_NAME
: nama akun layanan yang Anda buat sebelumnya.
Akun layanan berfungsi sebagai identitas pemicu. Anda seharusnya sudah memberikan peran berikut ke akun layanan:
roles/eventarc.eventReceiver
: untuk menerima peristiwaroles/workflows.invoker
: untuk menjalankan alur kerja
Terraform
Untuk membuat pemicu, gunakan
resource google_eventarc_trigger
dan ubah file main.tf
Anda seperti yang ditunjukkan dalam contoh berikut.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Perhatikan bahwa dalam alur kerja Terraform standar, Anda menerapkan seluruh rencana sekaligus. Namun, untuk tujuan tutorial ini, Anda dapat menarget resource tertentu. Contoh:
terraform apply -target="google_eventarc_trigger.default"
Setiap kali file diupload atau ditimpa di bucket Cloud Storage yang berisi file data input, alur kerja akan dijalankan dengan peristiwa Cloud Storage yang sesuai sebagai argumen.
Memicu alur kerja
Uji sistem menyeluruh dengan memperbarui file data input di Cloud Storage.
Buat data baru untuk file input dan upload ke Cloud Storage di lokasi yang diharapkan oleh tugas Cloud Run:
base64 /dev/urandom | head -c 100000 >input_file.txt gcloud storage cp input_file.txt gs://input-PROJECT_ID/input_file.txt
Jika membuat bucket Cloud Storage menggunakan Terraform, Anda dapat mengambil nama bucket dengan menjalankan perintah berikut:
gcloud storage buckets list gs://input*
Tugas Cloud Run dapat memerlukan waktu beberapa menit untuk dijalankan.
Pastikan tugas Cloud Run berjalan seperti yang diharapkan dengan melihat eksekusi tugas:
gcloud config set run/region us-central1 gcloud run jobs executions list --job=parallel-job
Anda akan melihat eksekusi tugas yang berhasil dalam output yang menunjukkan bahwa tugas
10/10
telah selesai.
Pelajari lebih lanjut cara memicu alur kerja dengan peristiwa atau pesan Pub/Sub.
Pembersihan
Jika Anda membuat project baru untuk tutorial ini, hapus project tersebut. Jika Anda menggunakan project yang ada dan ingin mempertahankannya tanpa perubahan yang ditambahkan dalam tutorial ini, hapus resource yang dibuat untuk tutorial.
Menghapus project
Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.
Untuk menghapus project:
- 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.
Menghapus resource tutorial
Hapus resource yang Anda buat dalam tutorial ini:
Hapus pemicu Eventarc:
gcloud eventarc triggers delete cloud-run-job-workflow-trigger --location=us
Hapus alur kerja:
gcloud workflows delete cloud-run-job-workflow --location=us-central1
Hapus tugas Cloud Run:
gcloud run jobs delete parallel-job
Hapus bucket Cloud Storage yang dibuat untuk data input:
gcloud storage rm --recursive gs://input-PROJECT_ID/
Hapus repositori Artifact Registry:
gcloud artifacts repositories delete REPOSITORY --location=us-central1