Workflows memungkinkan Anda mengatur dan mengotomatiskan proses multilangkah di berbagai layanan Google Cloud dan API eksternal. Anda dapat men-deploy, mengupdate, dan mengelola definisi alur kerja menggunakan konsol Google Cloud , Google Cloud CLI di terminal lokal atau Cloud Shell, atau Workflows API.
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
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Workflows API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
gcloud
-
Instal Google Cloud CLI.
-
Konfigurasi gcloud CLI agar menggunakan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Login ke gcloud CLI dengan identitas gabungan Anda.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih project Google Cloud .
Peran yang diperlukan untuk memilih atau membuat project
- Memilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project apa pun yang perannya telah diberikan kepada Anda.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat project Google Cloud :
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Pastikan penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan Workflows API, jika belum diaktifkan:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.gcloud services enable workflows.googleapis.com
REST
Untuk mengelola alur kerja menggunakan Workflows API, sebaiknya
gunakan library klien yang disediakan Google untuk memanggil
layanan workflows.googleapis.com. Untuk mengetahui informasi selengkapnya, lihat
Workflows API.
Membuat akun layanan
Akun layanan mewakili identitas alur kerja dan menentukan izin yang dimiliki alur kerja dan resource Google Cloud yang dapat diaksesnya. Buat akun layanan jika Anda belum memilikinya; lalu berikan peran yang diperlukan untuk mengakses resource Google Cloud target dan untuk membuat log.
Jika Anda tidak menentukan akun layanan selama pembuatan alur kerja, alur kerja akan menggunakan akun layanan Compute Engine default untuk identitasnya. Untuk mengetahui informasi selengkapnya, lihat Memberikan izin alur kerja untuk mengakses resourceGoogle Cloud .
Untuk membuat alur kerja dan melampirkan akun layanan, Anda memerlukan izin untuk membuat alur kerja (misalnya, peran Workflows Editor) dan untuk bertindak sebagai akun layanan tersebut (misalnya, peran Service Account User). Anda juga memerlukan izin untuk bertindak sebagai akun layanan terkait saat memperbarui kode sumber atau akun layanan alur kerja. Untuk mengetahui informasi selengkapnya, lihat Izin akun layanan.
Konsol
Di console Google Cloud , buka halaman Akun Layanan.
Pilih project, lalu klik Create service account.
Di kolom Nama akun layanan, masukkan nama.
Panjang nama harus antara 6 dan 30 karakter, serta dapat berisi karakter alfanumerik huruf kecil dan tanda pisah. Setelah membuat akun layanan, Anda tidak dapat mengubah namanya.
Klik Create and continue.
Klik Pilih peran.
Pilih peran berikut, dengan mengklik Add another role sesuai kebutuhan:
- Pilih peran yang diperlukan alur kerja Anda untuk mengakses resource target Google Cloud ; misalnya, jika alur kerja Anda memanggil alur kerja lain, pilih Workflows > Workflows Invoker.
- Untuk mengirim log ke Cloud Logging, pilih Logging > Logs Writer.
Klik Selesai untuk menyelesaikan pembuatan akun layanan.
gcloud
Buat akun layanan:
gcloud iam service-accounts create SERVICE_ACCOUNT
Berikan izin ke akun layanan dengan menetapkan peran yang diperlukan alur kerja Anda untuk mengakses resource Google Cloud target:
Misalnya, jika alur kerja Anda memanggil alur kerja lain, tetapkan peran
roles/workflows.invoker:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID." \ --role "roles/workflows.invoker"
Untuk mengirim log ke Cloud Logging, tetapkan peran
roles/logging.logWriter:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID." \ --role "roles/logging.logWriter"
Ganti kode berikut:
SERVICE_ACCOUNT: nama akun layanan. Panjangnya harus antara 6 sampai 30 karakter, dan dapat berisi karakter alfanumerik huruf kecil dan tanda pisah. Setelah membuat akun layanan, Anda tidak dapat mengubah namanya.PROJECT_ID: Project ID Google Cloud Anda.
REST
Anda dapat menggunakan metode
serviceAccounts.create
untuk membuat akun layanan. Untuk mengetahui informasi selengkapnya, lihat
Membuat akun layanan.
Anda dapat memberikan beberapa peran secara terprogram dengan mengubah dan menetapkan
kebijakan izin untuk resource menggunakan
metode
setIamPolicy. Untuk mengetahui informasi selengkapnya, lihat
Memberikan atau mencabut beberapa peran secara terprogram.
Membuat alur kerja
Definisi alur kerja terdiri dari serangkaian langkah yang dijelaskan menggunakan sintaksis workflows, yang dapat ditulis dalam format YAML atau JSON. Setelah menentukan alur kerja, Anda men-deploy alur kerja tersebut agar tersedia untuk dieksekusi. Langkah deploy juga memvalidasi bahwa file sumber dapat dieksekusi. Hal ini gagal jika file sumber tidak berisi definisi alur kerja yang valid.
Mengedit file YAML dapat rentan terhadap error. Anda dapat membuat alur kerja Anda dengan menggunakan IDE atau editor kode sumber pilihan dan menyiapkan pelengkapan otomatis dan validasi sintaksis untuk mengurangi error.
Konsol
Di konsol Google Cloud , buka halaman Workflows.
Klik Buat.
Masukkan nama untuk alur kerja, seperti
myFirstWorkflow. Nama dapat berisi huruf, angka, garis bawah, dan tanda hubung. Nama ini harus diawali dengan huruf dan diakhiri dengan angka atau huruf.Anda juga dapat menambahkan deskripsi alur kerja.
Dalam daftar Region, pilih lokasi yang sesuai untuk men-deploy alur kerja Anda; misalnya, us-central1.
Dalam daftar Service account, pilih akun layanan yang akan digunakan alur kerja Anda untuk mengakses layanan Google Cloud lainnya. Untuk mengetahui informasi selengkapnya, dalam dokumen ini, lihat Membuat akun layanan.
Secara opsional, lakukan salah satu hal berikut:
Tentukan level logging panggilan yang ingin Anda terapkan ke definisi alur kerja. Dalam daftar Level log panggilan, pilih salah satu opsi berikut:
- Tidak ditentukan: tidak ada level logging yang ditentukan. Ini adalah setelan defaultnya. Level log eksekusi lebih diutamakan daripada level log alur kerja apa pun, kecuali jika level log eksekusi tidak ditentukan (default); dalam hal ini, level log alur kerja berlaku.
- Hanya error: mencatat semua pengecualian yang tertangkap; atau saat panggilan dihentikan karena adanya suatu pengecualian.
- Semua panggilan: catat semua panggilan ke sub-alur kerja atau fungsi library beserta hasilnya.
- Tidak ada pencatatan: tidak ada logging panggilan.
Tentukan level histori eksekusi yang ingin Anda terapkan ke definisi alur kerja. Dalam daftar Execution history, pilih salah satu dari:
- Basic: mengaktifkan histori eksekusi dasar. Ini adalah setelan defaultnya.
- Detail: mengaktifkan histori eksekusi mendetail, termasuk nilai variabel dalam cakupan dan jumlah iterasi yang diharapkan.
Tentukan kunci Cloud Key Management Service yang harus digunakan oleh alur kerja untuk enkripsi data: pilih Customer-managed encryption key (CMEK). Untuk informasi selengkapnya, lihat Gunakan customer-managed encryption keys.
Tentukan variabel lingkungan yang dapat diakses oleh alur kerja Anda saat runtime. Untuk mengetahui informasi selengkapnya, lihat Gunakan variabel lingkungan.
Tambahkan label: label adalah pasangan nilai kunci yang membantu Anda mengatur instance Google Cloud Anda. Untuk informasi selengkapnya, lihat Apa yang dimaksud dengan label? Label alur kerja diwarisi oleh eksekusi alur kerja. Untuk melihat label eksekusi, gunakan metode
workflows.executions.listuntuk mencantumkan dan memfilter eksekusi alur kerja.Jadwalkan alur kerja Anda: pilih Tambahkan pemicu baru > Cloud Scheduler. Untuk mengetahui informasi selengkapnya, lihat Jadwalkan alur kerja menggunakan Cloud Scheduler.
Picu alur kerja Anda melalui peristiwa atau pesan Pub/Sub: pilih Tambahkan pemicu baru > Eventarc. Untuk mengetahui informasi selengkapnya, lihat Picu alur kerja dengan peristiwa atau pesan Pub/Sub.
Klik Berikutnya.
Dalam editor alur kerja, masukkan definisi alur kerja Anda. Lihat contoh alur kerja.
Klik Deploy.
gcloud
Pastikan kode sumber alur kerja Anda disimpan dalam file YAML atau JSON, seperti
MY_WORKFLOW.YAMLatauMY_WORKFLOW.JSON. Lihat contoh alur kerja.Buka terminal.
Anda dapat membuat dan men-deploy alur kerja menggunakan perintah
gcloud workflows deploy:gcloud workflows deploy WORKFLOW_NAME \ --location=LOCATION \ --call-log-level=CALL_LOGGING_LEVEL \ --description="DESCRIPTION" \ --execution-history-level="EXECUTION_HISTORY_LEVEL" \ --labels="LABEL_KEY=LABEL_VALUE" \ --set-env-vars="ENV_KEY=ENV_VALUE" \ --kms-key=ENCRYPT_KEY \ --service-account=SERVICE_ACCOUNT@PROJECT_ID. \ --source=YAML_OR_JSON_SOURCE_FILE
Ganti kode berikut:
WORKFLOW_NAME: nama alur kerja Anda—misalnya,myFirstWorkflow. Nama dapat berisi huruf, angka, garis bawah, dan tanda hubung. Nama ini harus diawali dengan huruf dan diakhiri dengan angka atau huruf.LOCATION: region untuk men-deploy alur kerja Anda; misalnya,us-central1.CALL_LOGGING_LEVEL: optional. Level logging panggilan yang akan diterapkan selama eksekusi. Dapat berupa salah satu dari:none: tidak ada level logging yang ditentukan. Ini adalah setelan defaultnya. Level log eksekusi lebih diutamakan daripada level log alur kerja apa pun, kecuali jika level log eksekusi tidak ditentukan (default); dalam hal ini, level log alur kerja berlaku.log-errors-only: catat semua pengecualian yang tertangkap; atau saat panggilan dihentikan karena adanya pengecualian.log-all-calls: catat semua panggilan ke sub-alur kerja atau fungsi library beserta hasilnya.log-none: tidak ada logging panggilan.
DESCRIPTION: optional. Deskripsi alur kerja.EXECUTION_HISTORY_LEVEL: optional. Level histori eksekusi yang akan diterapkan selama eksekusi. Dapat berupa salah satu dari:none: tidak ada level histori eksekusi yang ditentukan. Ini adalah setelan default. Jika level histori eksekusi tidak ditentukan untuk eksekusi, level tersebut ditentukan oleh level yang diterapkan ke alur kerja. Jika levelnya berbeda, setelan yang diterapkan di level eksekusi akan menggantikan setelan yang diterapkan di level alur kerja untuk eksekusi ini.execution-history-basic: mengaktifkan histori eksekusi dasar.execution-history-detailed: mengaktifkan histori eksekusi mendetail, termasuk nilai variabel dalam cakupan dan jumlah iterasi yang diharapkan.
LABEL_KEY=LABEL_VALUE: optional. Daftar key-value pair label yang membantu Anda mengatur instanceGoogle Cloud ; misalnya,name=wrench. Untuk informasi selengkapnya, lihat Apa yang dimaksud dengan label? Label alur kerja diwarisi oleh eksekusi alur kerja. Untuk melihat label eksekusi, gunakan metodeworkflows.executions.listuntuk mencantumkan dan memfilter eksekusi alur kerja.ENV_KEY=ENV_VALUE: optional. Daftar key-value pair variabel lingkungan; misalnya,MONTH=January. Untuk mengetahui informasi selengkapnya, lihat Menggunakan variabel lingkungan.ENCRYPT_KEY: optional. Kunci Cloud KMS yang harus digunakan oleh alur kerja untuk enkripsi data dalam formatprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Untuk informasi selengkapnya, lihat Gunakan customer-managed encryption keys.SERVICE_ACCOUNT@PROJECT_ID.: opsional. Akun layanan yang akan digunakan oleh alur kerja Anda untuk mengakses layanan Google Cloud lainnya. Untuk mengetahui informasi selengkapnya, dalam dokumen ini, lihat Membuat akun layanan.YAML_OR_JSON_SOURCE_FILE: file sumber untuk definisi alur kerja. Contoh:myFirstWorkflow.yaml.
REST
Untuk membuat alur kerja baru dengan nama yang ditentukan, gunakan metode
projects.locations.workflows.create,
dan gunakan parameter kueri workflowId untuk menentukan ID untuk
alur kerja.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
WORKFLOW_NAME: nama alur kerja Anda—misalnya,myFirstWorkflow. Nama dapat berisi huruf, angka, garis bawah, dan tanda hubung. Nama ini harus diawali dengan huruf dan diakhiri dengan angka atau huruf.DESCRIPTION: optional. Deskripsi alur kerja Anda. Tidak boleh lebih dari 1.000 karakter Unicode.LABEL_KEYdanLABEL_VALUE: opsional. Peta pasangan kunci dan nilai label yang membantu Anda mengatur instance Google Cloud . Misalnya:{"name": "wrench", "mass": "1kg", "count": "3"}Untuk informasi selengkapnya, lihat Apa yang dimaksud dengan label? Label alur kerja diwarisi oleh eksekusi alur kerja. Untuk melihat label eksekusi, gunakan metodeworkflows.executions.listuntuk mencantumkan dan memfilter eksekusi alur kerja.SERVICE_ACCOUNT@PROJECT_ID.: opsional. Akun layanan yang akan digunakan oleh alur kerja Anda untuk mengakses layanan Google Cloud lainnya. Project ID adalah project ID Google Cloud Anda. Untuk mengetahui informasi selengkapnya, dalam dokumen ini, lihat Membuat akun layanan.ENCRYPT_KEY: optional. Kunci Cloud KMS yang harus digunakan oleh alur kerja untuk enkripsi data dalam formatprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Untuk informasi selengkapnya, lihat Menggunakan kunci enkripsi yang dikelola pelanggan.CALL_LOGGING_LEVEL: optional. Tingkat logging panggilan yang akan diterapkan selama eksekusi. Secara default, tidak ada level logging yang ditentukan dan level log alur kerja akan berlaku. Untuk mengetahui informasi selengkapnya, lihat Mengirim Log ke Logging. Salah satu dari berikut ini:CALL_LOG_LEVEL_UNSPECIFIED: tidak ada level logging yang ditentukan dan level log alur kerja akan berlaku. Ini adalah setelan defaultnya. Jika tidak, level log eksekusi akan berlaku dan lebih diutamakan daripada level log alur kerja.LOG_ERRORS_ONLY: catat semua pengecualian yang tertangkap; atau saat panggilan dihentikan karena adanya pengecualian.LOG_ALL_CALLS: catat semua panggilan ke sub-alur kerja atau fungsi library beserta hasilnya.LOG_NONE: tidak ada logging panggilan.
EXECUTION_HISTORY_LEVEL: opsional. Tingkat histori eksekusi yang akan diterapkan selama eksekusi. Untuk mengetahui informasi selengkapnya, lihat Melihat histori langkah eksekusi. Salah satu dari berikut ini:EXECUTION_HISTORY_LEVEL_UNSPECIFIED: tidak ada level histori eksekusi yang ditentukan. Ini adalah setelan defaultnya. Jika tingkat histori eksekusi tidak ditentukan untuk suatu eksekusi, tingkat tersebut akan ditentukan oleh tingkat yang diterapkan ke alur kerja. Jika levelnya berbeda, setelan yang diterapkan di level eksekusi akan menggantikan setelan yang diterapkan di level alur kerja untuk eksekusi ini.EXECUTION_HISTORY_BASIC: mengaktifkan histori eksekusi dasar.EXECUTION_HISTORY_ADVANCED: mengaktifkan histori eksekusi mendetail, termasuk nilai variabel dalam cakupan dan jumlah iterasi yang diharapkan.
ENV_KEYdanENV_VALUE: opsional. Peta pasangan kunci dan nilai variabel lingkungan; misalnya,{ "month": "January", "day": "Monday"}. Untuk mengetahui informasi selengkapnya, lihat Menggunakan variabel lingkungan.SOURCE_CODE: definisi alur kerja. Anda harus meng-escape baris baru di YAML. Contoh:main:\n params:\n - input\n steps:\n - returnOutput:\n return: HelloAnda harus meng-escape tanda kutip di JSON. Contoh:
{\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}LOCATION: region tempat alur kerja akan di-deploy—misalnya,us-central1.
Meminta isi JSON:
{
"name": "WORKFLOW_NAME",
"description": "DESCRIPTION",
"labels": {"LABEL_KEY":"LABEL_VALUE"},
"serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.",
"cryptoKeyName": "ENCRYPT_KEY",
"callLogLevel": "CALL_LOGGING_LEVEL",
"executionHistoryLevel": "EXECUTION_HISTORY_LEVEL"
"userEnvVars": {"ENV_KEY":"ENV_VALUE"},
"sourceContents": "SOURCE_CODE"
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Jika berhasil, isi respons akan memuat instance Operation yang baru dibuat:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
"createTime": "2023-12-05T14:06:06.338390918Z",
"target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
"verb": "create",
"apiVersion": "v1"
},
"done": false
}
Jika nilai "done" adalah false, operasi masih berlangsung.
Membuat daftar alur kerja
Anda dapat mencantumkan alur kerja atau menggunakan filter untuk mengambil alur kerja tertentu.
Konsol
Di konsol Google Cloud , buka halaman Workflows.
Halaman ini mencantumkan alur kerja Anda di semua lokasi, dan menyertakan detail seperti nama, region, revisi terbaru, dan lainnya.
Untuk memfilter alur kerja:
- Klik Filter atau kolom Filter workflows.
- Dalam daftar Properties, pilih opsi untuk memfilter alur kerja.
Anda dapat memilih satu properti atau menggunakan operator logika
ORuntuk menambahkan properti lainnya.Untuk mengurutkan alur kerja, di samping judul kolom yang didukung, klik Sort.
gcloud
Cantumkan alur kerja menggunakan
perintah gcloud workflows list:
gcloud workflows list --location=LOCATION
Ganti LOCATION dengan ID atau ID yang sepenuhnya memenuhi syarat untuk lokasi alur kerja Anda.
Perintah ini mencantumkan alur kerja Anda di lokasi yang ditentukan, dan menyertakan
detail seperti NAME, STATE, REVISION_ID, dan
UPDATE_TIME alur kerja.
REST
Untuk mencantumkan alur kerja dalam project dan lokasi tertentu, gunakan metode
projects.locations.workflows.list.
Atau, untuk mengambil detail satu alur kerja, gunakan metode
projects.locations.workflows.get.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID: project ID Google Cloud Anda.LOCATION: region tempat alur kerja di-deploy—misalnya,us-central1.
Untuk mengirim permintaan Anda, luaskan salah satu opsi berikut:
Jika berhasil, isi respons akan berisi instance
Workflow
dan responsnya akan mirip dengan berikut ini:
{
"workflows": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
"state": "ACTIVE",
"revisionId": "000001-0ce",
"createTime": "2023-12-08T13:56:59.306770745Z",
"updateTime": "2023-12-08T13:56:59.547021939Z",
"revisionCreateTime": "2023-12-08T13:56:59.340161044Z",
"serviceAccount": "projects/PROJECT_ID/serviceAccounts/PROJECT_NUMBER-compute@",
"sourceContents": "main:\n params: [input]\n [...] return: '${wikiResult.body[1]}'\n"
},
{
object (Workflow)
}
],
"nextPageToken": string,
"unreachable": [
string
]
}
Mengupdate alur kerja
Anda dapat memperbarui kode sumber, setelan konfigurasi, atau keduanya dari alur kerja yang ada. Namun, Anda tidak dapat mengubah nama atau lokasi alur kerja.
Memperbarui alur kerja tidak akan memengaruhi eksekusi yang sedang berlangsung. Hanya eksekusi alur kerja berikutnya yang menggunakan konfigurasi yang diperbarui.
Untuk mengupdate kode sumber atau akun layanan alur kerja, Anda memerlukan
izin iam.serviceAccounts.actAs, yang disertakan dalam peran seperti
Service Account User
(roles/iam.serviceAccountUser). Bergantung pada update, Anda memerlukan
izin ini di akun layanan berikut:
- Hanya mengupdate kode sumber alur kerja (tanpa mengupdate akun layanan): Anda memerlukan izin
iam.serviceAccounts.actAspada akun layanan yang ada yang terkait dengan alur kerja. - Memperbarui akun layanan, atau kode sumber dan akun layanan: Anda memerlukan izin
iam.serviceAccounts.actAspada akun layanan baru yang Anda kaitkan dengan alur kerja.
Untuk mengetahui informasi selengkapnya, lihat Izin akun layanan.
Setiap kali Anda memperbarui kode sumber, akun layanan, kunci enkripsi, variabel lingkungan, level log panggilan, atau level histori eksekusi alur kerja, revisi alur kerja baru akan dibuat dan revisionId-nya akan diperbarui. Memperbarui hanya deskripsi atau label alur kerja tidak akan membuat revisi baru. revisionId
terdiri dari dua bagian, yang dipisahkan oleh tanda hubung:
Angka enam digit dengan padding nol, dimulai dari
000001, yang bertambah setiap kali revisi baru dibuat.String heksadesimal tiga karakter acak.
Misalnya, 000001-27f menunjukkan revisi awal alur kerja dan
000002-d52 menunjukkan revisi kedua.
Konsol
Di konsol Google Cloud , buka halaman Workflows.
Klik nama alur kerja yang ingin Anda perbarui. Perhatikan bahwa Anda tidak dapat mengubah nama alur kerja.
Halaman Workflow details akan muncul.
Anda dapat mengedit alur kerja dengan cara berikut:
Untuk mengedit sumber:
- Klik tab Source.
- Klik Edit.
- Untuk menyimpan perubahan, klik Save. Alur kerja yang diperbarui di-deploy.
Untuk memperbarui deskripsi, akun layanan yang digunakan alur kerja untuk autentikasi, level log panggilan, level histori eksekusi, variabel lingkungan, label, atau kunci enkripsi:
- Klik tab Details.
- Klik ikon yang sesuai.
- Jika Anda memperbarui level log panggilan, pilih salah satu opsi berikut:
- Tidak ditentukan: tidak ada level logging yang ditentukan. Ini adalah setelan defaultnya. Level log eksekusi lebih diutamakan daripada level log alur kerja apa pun, kecuali jika level log eksekusi tidak ditentukan (default); dalam hal ini, level log alur kerja berlaku.
- Hanya error: mencatat semua pengecualian yang tertangkap; atau saat panggilan dihentikan karena adanya suatu pengecualian.
- Semua panggilan: catat semua panggilan ke sub-alur kerja atau fungsi library beserta hasilnya.
- Tidak ada pencatatan: tidak ada logging panggilan.
- Jika Anda memperbarui tingkat histori eksekusi, pilih salah satu dari:
- Basic: mengaktifkan histori eksekusi dasar. Ini adalah setelan defaultnya.
- Detail: mengaktifkan histori eksekusi mendetail, termasuk nilai variabel dalam cakupan dan jumlah iterasi yang diharapkan.
Untuk menyimpan perubahan, klik Save. Alur kerja yang diperbarui di-deploy.
Untuk mengedit kolom sebelumnya secara bersamaan, atau menambahkan atau memperbarui pemicu:
- Klik Edit.
- Untuk mengedit sumber, klik Berikutnya.
- Untuk menyimpan perubahan dan men-deploy alur kerja yang diperbarui, klik Deploy.
Opsional: Untuk mengelola akun utama mana yang memiliki izin untuk mengakses atau memanggil resource alur kerja ini, klik tab Permissions:
Untuk memperbarui akun utama yang ada:
- Temukan baris yang berisi akun utama.
- Klik Edit akun utama di baris tersebut.
- Klik Add another role atau klik Delete role.
Jika Anda menambahkan peran, di daftar Select a role, pilih peran yang sesuai.
Untuk menambahkan peran lain, klik Add another role.
Klik Simpan.
gcloud
Buka terminal.
Temukan nama alur kerja yang ingin Anda perbarui. Jika Anda tidak mengetahui nama alur kerja, masukkan perintah berikut untuk mencantumkan alur kerja di suatu lokasi:
gcloud workflows list --location=LOCATION
Ganti
LOCATIONdengan ID atau ID yang sepenuhnya memenuhi syarat untuk lokasi alur kerja Anda.Jika Anda memperbarui kode sumber alur kerja, temukan file YAML atau JSON tempat sumber alur kerja Anda disimpan, seperti
WORKFLOW_NAME.yamlatauWORKFLOW_NAME.json.Perbarui alur kerja dengan menjalankan perintah
gcloud workflows deploydengan flag untuk properti yang ingin Anda ubah.Anda dapat mengupdate alur kerja yang ada untuk mengubah sumber, deskripsi, label, variabel lingkungan, level log panggilan, level histori eksekusi, kunci enkripsi, atau akun layanan terkait. Anda harus menentukan nama alur kerja yang ingin diperbarui; flag yang tersisa bersifat opsional. Untuk menghapus kunci enkripsi yang dikelola pelanggan, gunakan flag
--clear-kms-key.gcloud workflows deploy WORKFLOW_NAME \ --location=LOCATION \ --call-log-level=CALL_LOGGING_LEVEL \ --description="DESCRIPTION" \ --execution-history-level="EXECUTION_HISTORY_LEVEL" \ --labels="LABEL_KEY=LABEL_VALUE" \ --set-env-vars="ENV_KEY=ENV_VALUE" \ --kms-key=ENCRYPT_KEY \ --service-account=SERVICE_ACCOUNT@PROJECT_ID. \ --source=YAML_OR_JSON_SOURCE_FILE
Ganti kode berikut:
WORKFLOW_NAME: wajib diisi. Nama alur kerja Anda.LOCATION: opsional jika propertiworkflows/locationditetapkan; jika tidak, wajib diisi. Lokasi alur kerja; misalnya,us-central1.CALL_LOGGING_LEVEL: optional. Level logging panggilan yang akan diterapkan selama eksekusi. Dapat berupa salah satu dari:none: tidak ada level logging yang ditentukan. Ini adalah setelan defaultnya. Level log eksekusi lebih diutamakan daripada level log alur kerja apa pun, kecuali jika level log eksekusi tidak ditentukan (default); dalam hal ini, level log alur kerja berlaku.log-errors-only: catat semua pengecualian yang tertangkap; atau saat panggilan dihentikan karena adanya pengecualian.log-all-calls: catat semua panggilan ke sub-alur kerja atau fungsi library beserta hasilnya.log-none: tidak ada logging panggilan.
DESCRIPTION: optional. Deskripsi alur kerja.EXECUTION_HISTORY_LEVEL: optional. Level histori eksekusi yang akan diterapkan selama eksekusi. Dapat berupa salah satu dari:none: tidak ada level histori eksekusi yang ditentukan. Ini adalah setelan default. Jika level histori eksekusi tidak ditentukan untuk eksekusi, level tersebut ditentukan oleh level yang diterapkan ke alur kerja. Jika levelnya berbeda, setelan yang diterapkan di level eksekusi akan menggantikan setelan yang diterapkan di level alur kerja untuk eksekusi ini.execution-history-basic: mengaktifkan histori eksekusi dasar.execution-history-detailed: mengaktifkan histori eksekusi mendetail, termasuk nilai variabel dalam cakupan dan jumlah iterasi yang diharapkan.
LABEL_KEY=LABEL_VALUE: optional. Daftar key-value pair label yang membantu Anda mengatur instanceGoogle Cloud ; misalnya,name=wrench. Untuk informasi selengkapnya, lihat Apa yang dimaksud dengan label? Label alur kerja diwarisi oleh eksekusi alur kerja. Untuk melihat label eksekusi, gunakan metodeworkflows.executions.listuntuk mencantumkan dan memfilter eksekusi alur kerja.ENV_KEY=ENV_VALUE: optional. Daftar key-value pair variabel lingkungan; misalnya,MONTH=January. Untuk mengetahui informasi selengkapnya, lihat Menggunakan variabel lingkungan.ENCRYPT_KEY: optional. Kunci Cloud KMS yang harus digunakan oleh alur kerja untuk enkripsi data dalam formatprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Untuk informasi selengkapnya, lihat Gunakan customer-managed encryption keys.SERVICE_ACCOUNT@PROJECT_ID.: opsional. Akun layanan yang digunakan alur kerja Anda untuk mengakses layanan Google Cloud lainnya. Jika Anda ingin memperbarui peran untuk akun layanan, lihat Memberikan izin alur kerja untuk mengakses resourceGoogle Cloud dan Mengelola akses ke project, folder, dan organisasi.YAML_OR_JSON_SOURCE_FILE: optional. File sumber untuk alur kerja dalam format YAML atau JSON. Contoh:myFirstWorkflow.yaml.
REST
Untuk memperbarui alur kerja yang ada, gunakan
metode projects.locations.workflows.patch
dan secara opsional gunakan parameter kueri updateMask untuk menentukan daftar
kolom yang akan diperbarui.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
WORKFLOW_NAME: nama alur kerja Anda—misalnya,myFirstWorkflow.DESCRIPTION: optional. Deskripsi alur kerja Anda. Tidak boleh lebih dari 1.000 karakter Unicode.LABEL_KEYdanLABEL_VALUE: opsional. Peta pasangan kunci dan nilai label yang membantu Anda mengatur instance Google Cloud . Misalnya:{"name": "wrench", "mass": "1kg", "count": "3"}Untuk informasi selengkapnya, lihat Apa yang dimaksud dengan label? Label alur kerja diwarisi oleh eksekusi alur kerja. Untuk melihat label eksekusi, gunakan metodeworkflows.executions.listuntuk mencantumkan dan memfilter eksekusi alur kerja.SERVICE_ACCOUNT@PROJECT_ID.: opsional. Akun layanan yang akan digunakan oleh alur kerja Anda untuk mengakses layanan Google Cloud lainnya. Project ID adalah project ID Google Cloud Anda. Untuk mengetahui informasi selengkapnya, dalam dokumen ini, lihat Membuat akun layanan.ENCRYPT_KEY: optional. Kunci Cloud KMS yang harus digunakan oleh alur kerja untuk enkripsi data dalam formatprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Untuk informasi selengkapnya, lihat Menggunakan kunci enkripsi yang dikelola pelanggan.CALL_LOGGING_LEVEL: optional. Level logging panggilan yang akan diterapkan selama eksekusi. Secara default, tidak ada level logging yang ditentukan dan level log alur kerja akan berlaku. Untuk mengetahui informasi selengkapnya, lihat Mengirim Log ke Logging. Salah satu dari berikut ini:CALL_LOG_LEVEL_UNSPECIFIED: tidak ada level logging yang ditentukan dan level log alur kerja akan berlaku. Ini adalah setelan defaultnya. Jika tidak, level log eksekusi akan berlaku dan lebih diutamakan daripada level log alur kerja.LOG_ERRORS_ONLY: catat semua pengecualian yang tertangkap; atau saat panggilan dihentikan karena adanya pengecualian.LOG_ALL_CALLS: catat semua panggilan ke sub-alur kerja atau fungsi library beserta hasilnya.LOG_NONE: tidak ada logging panggilan.
EXECUTION_HISTORY_LEVEL: opsional. Tingkat histori eksekusi yang akan diterapkan selama eksekusi. Untuk mengetahui informasi selengkapnya, lihat Melihat histori langkah eksekusi. Salah satu dari berikut ini:EXECUTION_HISTORY_LEVEL_UNSPECIFIED: tidak ada level histori eksekusi yang ditentukan. Ini adalah setelan defaultnya. Jika tingkat histori eksekusi tidak ditentukan untuk eksekusi, tingkat tersebut ditentukan oleh tingkat yang diterapkan ke alur kerja. Jika levelnya berbeda, setelan yang diterapkan di level eksekusi akan menggantikan setelan yang diterapkan di level alur kerja untuk eksekusi ini.EXECUTION_HISTORY_BASIC: mengaktifkan histori eksekusi dasar.EXECUTION_HISTORY_ADVANCED: mengaktifkan histori eksekusi mendetail, termasuk nilai variabel dalam cakupan dan jumlah iterasi yang diharapkan.
ENV_KEYdanENV_VALUE: opsional. Peta pasangan kunci dan nilai variabel lingkungan; misalnya,{ "month": "January", "day": "Monday"}. Untuk mengetahui informasi selengkapnya, lihat Menggunakan variabel lingkungan.SOURCE_CODE: definisi alur kerja yang diminifikasi. Contoh:{\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}LOCATION: region tempat alur kerja di-deploy—misalnya,us-central1.UPDATE_FIELDS: optional. Daftar kolom yang dipisahkan koma untuk diperbarui. Jika tidak diberikan, seluruh alur kerja akan diperbarui. Contohnya,description,callLogLevel.
Meminta isi JSON:
{
"name": "WORKFLOW_NAME",
"description": "DESCRIPTION",
"labels": {"LABEL_KEY":"LABEL_VALUE"},
"serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.",
"cryptoKeyName": "ENCRYPT_KEY",
"callLogLevel": "CALL_LOGGING_LEVEL",
"executionHistoryLevel": "EXECUTION_HISTORY_LEVEL"
"userEnvVars": {"ENV_KEY":"ENV_VALUE"},
"sourceContents": "SOURCE_CODE"
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Jika berhasil, isi respons akan memuat instance Operation yang baru dibuat:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
"createTime": "2023-12-05T14:06:06.338390918Z",
"target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
"verb": "update",
"apiVersion": "v1"
},
"done": false
}
Jika nilai "done" adalah false, operasi masih berlangsung.
Menghapus alur kerja
Anda dapat menghapus alur kerja yang ada. Menghapus alur kerja juga akan menghapus eksekusinya dan membatalkan eksekusi aktif apa pun untuk alur kerja tersebut.
Konsol
Di konsol Google Cloud , buka halaman Workflows.
Klik nama alur kerja yang ingin Anda hapus, lalu klik Delete.
Pada dialog untuk mengonfirmasi penghapusan, masukkan nama alur kerja.
Klik Konfirmasi.
gcloud
Buka terminal.
Temukan nama alur kerja yang ingin Anda hapus. Jika Anda tidak mengetahui nama alur kerja, masukkan perintah berikut untuk mencantumkan alur kerja di suatu lokasi:
gcloud workflows list --location=LOCATION
Hapus alur kerja menggunakan perintah
gcloud workflows delete:gcloud workflows delete WORKFLOW_NAME \ --location=LOCATION
Ganti kode berikut:
WORKFLOW_NAME: nama alur kerja Anda.LOCATION: ID atau ID yang sepenuhnya memenuhi syarat untuk lokasi alur kerja Anda.
REST
Untuk menghapus alur kerja dengan nama yang ditentukan, gunakan metode
projects.locations.workflows.delete.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
WORKFLOW_NAME: nama alur kerja yang ingin Anda hapus.PROJECT_ID: project ID Google Cloud Anda.LOCATION: region tempat alur kerja di-deploy—misalnya,us-central1.
Untuk mengirim permintaan Anda, luaskan salah satu opsi berikut:
Jika berhasil, isi respons akan memuat instance
Operation:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
"createTime": "2023-12-05T14:06:06.338390918Z",
"target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
"verb": "delete",
"apiVersion": "v1"
},
"done": false
}
Jika nilai "done" adalah false, operasi masih berlangsung.