Membuat dan mengelola alur kerja

Anda dapat membuat dan mengelola alur kerja di Konsol Google Cloud, atau dengan menggunakan Google Cloud CLI di terminal atau Cloud Shell. Anda juga dapat mengelola alur kerja melalui 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

  1. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  2. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.

  3. Aktifkan Workflows API.

    Mengaktifkan API

gcloud

  1. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

  2. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.

  3. Aktifkan Workflows API.

    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 merepresentasikan identitas alur kerja dan menentukan izin yang dimiliki alur kerja tersebut, dan resource Google Cloud mana yang dapat diakses. Buat akun layanan jika Anda belum memilikinya; lalu berikan peran yang diperlukan untuk mengelola alur kerja dan 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 bagian Memberikan izin alur kerja untuk mengakses resource Google Cloud.

Kami sangat merekomendasikan penggunaan akun layanan dengan hak istimewa terendah yang diperlukan untuk mengakses resource yang diperlukan.

Perlu diperhatikan bahwa untuk membuat resource dan melampirkan akun layanan, Anda memerlukan izin untuk membuat resource tersebut dan meniru identitas akun layanan yang akan dikaitkan ke resource. Untuk informasi selengkapnya, lihat Izin akun layanan.

Konsol

  1. Di Konsol Google Cloud, buka halaman Akun layanan.

    Buka Akun Layanan

  2. Pilih project, lalu klik Create service account.

  3. Di kolom Nama akun layanan, masukkan nama.

    Nama harus antara 6 hingga 30 karakter, serta dapat berisi karakter alfanumerik huruf kecil dan tanda hubung. Setelah membuat akun layanan, Anda tidak dapat mengubah namanya.

  4. Klik Buat dan lanjutkan.

  5. Klik Select a role.

  6. Pilih peran berikut, dengan mengklik Tambahkan peran lain sesuai kebutuhan:

    1. Untuk membuat, memperbarui, dan menjalankan alur kerja, pilih Workflows > Workflows Editor.
    2. Untuk mengirim log ke Cloud Logging, pilih Logging > Logs Writer.
  7. Klik Selesai untuk menyelesaikan pembuatan akun layanan.

gcloud

  1. Buat akun layanan.

    gcloud iam service-accounts create SERVICE_ACCOUNT
  2. Berikan izin ke akun layanan dengan menetapkan peran.

    1. Untuk membuat, memperbarui, dan menjalankan alur kerja, tetapkan peran roles/workflows.editor:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
          --role "roles/workflows.editor"
      
    2. 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.iam.gserviceaccount.com" \
          --role "roles/logging.logWriter"
      

    Ganti kode berikut:

    • SERVICE_ACCOUNT: nama akun layanan. Panjangnya harus antara 6 hingga 30 karakter, serta dapat berisi karakter alfanumerik huruf kecil dan tanda hubung. Setelah membuat akun layanan, Anda tidak dapat mengubah namanya.

    • PROJECT_ID: ID project 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 izinkan untuk resource menggunakan metode setIamPolicy. Untuk mengetahui informasi selengkapnya, lihat bagian 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 dapat men-deploy-nya 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

  1. Di konsol Google Cloud, buka halaman Workflows.

    Buka Workflows

  2. Klik Buat.

  3. 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.

  4. Anda juga dapat menambahkan deskripsi alur kerja.

  5. Dalam daftar Region, pilih lokasi yang sesuai untuk men-deploy alur kerja Anda; misalnya, us-central1.

  6. Dalam daftar Service account, pilih akun layanan yang akan digunakan oleh alur kerja untuk mengakses layanan Google Cloud lainnya. Untuk mengetahui informasi selengkapnya, dalam dokumen ini, lihat Membuat akun layanan.

  7. Secara opsional, lakukan salah satu hal berikut:

    1. 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.
    2. 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.

    3. Tentukan variabel lingkungan yang dapat diakses oleh alur kerja Anda saat runtime. Untuk mengetahui informasi selengkapnya, lihat Gunakan variabel lingkungan.

    4. Tambahkan label: label adalah pasangan nilai kunci yang membantu Anda mengatur instance Google Cloud Anda. Untuk mengetahui informasi selengkapnya, lihat Apa yang dimaksud dengan label?

    5. Jadwalkan alur kerja Anda: pilih Tambahkan pemicu baru > Cloud Scheduler. Untuk mengetahui informasi selengkapnya, lihat Jadwalkan alur kerja menggunakan Cloud Scheduler.

    6. 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.

  8. Klik Next.

  9. Dalam editor alur kerja, masukkan definisi alur kerja Anda. Lihat contoh alur kerja.

  10. Klik Deploy.

gcloud

  1. Pastikan kode sumber alur kerja Anda disimpan dalam file YAML atau JSON, seperti MY_WORKFLOW.YAML atau MY_WORKFLOW.JSON. Lihat contoh alur kerja.

  2. Buka terminal.

  3. 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" \
        --labels="LABEL_KEY=LABEL_VALUE" \
        --set-env-vars="ENV_KEY=ENV_VALUE" \
        --kms-key=ENCRYPT_KEY \
        --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \
        --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 tempat Anda men-deploy 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.

    • LABEL_KEY=LABEL_VALUE: optional. Daftar key-value pair label yang membantu Anda mengatur instance Google Cloud; misalnya, name=wrench. Untuk mengetahui informasi selengkapnya, lihat Apa yang dimaksud dengan label?

    • 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 alur kerja untuk enkripsi data dalam format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Untuk informasi selengkapnya, lihat Gunakan customer-managed encryption keys.

    • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: 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 alur kerja tersebut.

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 harus diawali dengan huruf dan diakhiri dengan angka atau huruf.
  • DESCRIPTION: optional. Deskripsi alur kerja Anda. Tidak boleh lebih dari 1000 karakter Unicode.
  • LABEL_KEY dan LABEL_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? Perhatikan bahwa perlu waktu hingga 10 menit agar label baru diterapkan.
  • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: optional. Akun layanan yang akan digunakan 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 alur kerja untuk enkripsi data dalam format projects/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. Defaultnya adalah tidak ada level logging yang ditentukan dan level log alur kerjalah yang berlaku. Untuk mengetahui informasi lebih lanjut, lihat Mengirim Log ke Logging. Salah satu dari opsi berikut:
    • CALL_LOG_LEVEL_UNSPECIFIED: tidak ada level logging yang ditentukan dan level log alur kerja yang berlaku. Ini adalah setelan defaultnya. Jika tidak, level log eksekusi akan berlaku dan lebih diprioritaskan daripada level log alur kerja.
    • LOG_ERRORS_ONLY: mencatat semua pengecualian yang tertangkap; atau saat panggilan dihentikan karena suatu pengecualian.
    • LOG_ALL_CALLS: mencatat semua panggilan ke sub-alur kerja atau fungsi library beserta hasilnya.
    • LOG_NONE: tidak ada logging panggilan.
  • ENV_KEY dan ENV_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 dalam YAML. Contoh: main:\n params:\n - input\n steps:\n - returnOutput:\n return: Hello

    Anda harus meng-escape tanda kutip dalam 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.iam.gserviceaccount.com",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_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, berarti operasi masih berlangsung.

Mencantumkan alur kerja

Anda dapat mencantumkan alur kerja atau menggunakan filter untuk mengambil alur kerja tertentu.

Konsol

  1. Di konsol Google Cloud, buka halaman Workflows.

    Buka Workflows

    Halaman ini mencantumkan alur kerja Anda di semua lokasi, dan menyertakan detail seperti nama, region, revisi terbaru, dan lainnya.

  2. Untuk memfilter alur kerja:

    1. Klik Filter atau kolom Filter alur kerja.
    2. Di daftar Properti, pilih opsi untuk memfilter alur kerja.

    Anda dapat memilih satu properti atau menggunakan operator logis OR untuk menambahkan lebih banyak properti.

  3. Untuk mengurutkan alur kerja, di samping judul kolom yang didukung, klik Urutkan.

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, perluas salah satu opsi berikut:

Jika berhasil, isi respons berisi instance Workflow dan responsnya akan serupa 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@developer.gserviceaccount.com",
      "sourceContents": "main:\n    params: [input]\n [...] return: '${wikiResult.body[1]}'\n"
    },
    {
      object (Workflow)
    }
  ],
  "nextPageToken": string,
  "unreachable": [
    string
  ]
}

Memperbarui alur kerja

Anda dapat memperbarui alur kerja yang ada. Anda harus menentukan nama alur kerja yang ingin diperbarui dan sumbernya. Perhatikan bahwa Anda tidak dapat mengubah nama atau lokasi alur kerja.

Memperbarui alur kerja tidak akan memengaruhi eksekusi yang sedang berlangsung. Hanya eksekusi alur kerja di masa mendatang yang akan menggunakan konfigurasi yang diupdate.

Setiap kali Anda memperbarui alur kerja, versionID-nya akan diperbarui. versionID terdiri dari dua bagian, yang dipisahkan oleh tanda hubung:

  • Angka, dimulai dari satu, yang akan bertambah setiap kali Anda memperbarui alur kerja.

  • String alfanumerik acak berisi tiga karakter.

Misalnya, 000001-27f menunjukkan versi awal alur kerja dan 000002-d52 menunjukkan alur kerja yang telah diperbarui satu kali.

Konsol

  1. Di konsol Google Cloud, buka halaman Workflows.

    Buka Workflows

  2. Klik nama alur kerja yang ingin Anda perbarui. Perhatikan bahwa Anda tidak dapat mengubah nama alur kerja.

    Halaman Detail alur kerja akan muncul.

  3. Anda dapat mengedit alur kerja dengan cara berikut:

    • Untuk mengedit sumber:

      1. Klik tab Sumber.
      2. Klik Edit.
      3. Untuk menyimpan perubahan, klik Save. Alur kerja yang diperbarui telah di-deploy.
    • Untuk memperbarui deskripsi, akun layanan yang digunakan alur kerja untuk autentikasi, tingkat log panggilan, variabel lingkungan, label, atau kunci enkripsi:

      1. Klik tab Details.
      2. Klik ikon yang sesuai.
      3. Jika Anda memperbarui tingkat log panggilan, pilih salah satu dari:
        • 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.
      4. Untuk menyimpan perubahan, klik Save. Alur kerja yang diperbarui telah di-deploy.
    • Untuk mengedit kolom sebelumnya secara bersamaan, atau menambahkan atau mengupdate pemicu:

      1. Klik Edit.
      2. Untuk mengedit sumber, klik Berikutnya.
      3. Untuk menyimpan perubahan dan men-deploy alur kerja yang diupdate, klik Deploy.
  4. Jika Anda ingin memperbarui peran untuk akun layanan, klik tab Izin.

    1. Principal adalah pengguna, grup, domain, atau akun layanan. Untuk mengupdate akun utama yang ada:

      1. Temukan baris yang berisi akun utama.
      2. Klik Edit principal di baris tersebut.
      3. Klik Tambahkan peran lain atau klik Hapus peran.
    2. Jika Anda menambahkan peran, di daftar Select a role, pilih peran yang sesuai.

    3. Untuk menambahkan peran lain, klik Tambahkan peran lain.

    4. Klik Save.

gcloud

  1. Buka terminal.

  2. Temukan nama alur kerja yang ingin Anda perbarui. Jika tidak tahu nama alur kerja, Anda dapat memasukkan perintah berikut untuk menampilkan daftar semua alur kerja:

    gcloud workflows list
    
  3. Temukan file YAML atau JSON tempat sumber alur kerja Anda disimpan, seperti WORKFLOW_NAME.YAML atau WORKFLOW_NAME.JSON.

  4. Anda dapat memperbarui alur kerja yang ada untuk mengubah sumber, deskripsi, label, variabel lingkungan, level log panggilan, kunci enkripsi, atau akun layanan terkaitnya menggunakan perintah gcloud workflows deploy.

    Anda harus menentukan nama alur kerja yang ingin diperbarui dan sumbernya; tetapi, flag lainnya bersifat opsional. Untuk menghapus kunci enkripsi yang dikelola pelanggan, gunakan tanda --clear-kms-key.

    gcloud workflows deploy WORKFLOW_NAME \
        --call-log-level=CALL_LOGGING_LEVEL \
        --description="DESCRIPTION" \
        --labels="LABEL_KEY=LABEL_VALUE" \
        --set-env-vars="ENV_KEY=ENV_VALUE" \
        --kms-key=ENCRYPT_KEY \
        --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \
        --source=YAML_OR_JSON_SOURCE_FILE
    

    Ganti kode berikut:

    • WORKFLOW_NAME: wajib diisi. Nama alur kerja Anda.

    • CALL_LOGGING_LEVEL: optional. Tingkat logging panggilan yang akan diterapkan pada alur kerja. 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.

    • LABEL_KEY=LABEL_VALUE: optional. Daftar key-value pair label yang membantu Anda mengatur instance Google Cloud; misalnya, name=wrench. Untuk mengetahui informasi selengkapnya, lihat Apa yang dimaksud dengan label?

    • 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 alur kerja untuk enkripsi data dalam format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Untuk informasi selengkapnya, lihat Gunakan customer-managed encryption keys.

    • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: opsional. Akun layanan yang akan digunakan oleh alur kerja Anda untuk mengakses layanan Google Cloud lainnya. Jika Anda ingin memperbarui peran untuk akun layanan, lihat bagian Memberikan izin alur kerja untuk mengakses resource Google Cloud dan Mengelola akses ke project, folder, dan organisasi.

    • YAML_OR_JSON_SOURCE_FILE: wajib diisi. 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 1000 karakter Unicode.
  • LABEL_KEY dan LABEL_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? Perhatikan bahwa perlu waktu hingga 10 menit agar label baru diterapkan.
  • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: optional. Akun layanan yang akan digunakan 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 alur kerja untuk enkripsi data dalam format projects/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. Defaultnya adalah tidak ada level logging yang ditentukan dan level log alur kerjalah yang berlaku. Untuk mengetahui informasi lebih lanjut, lihat Mengirim Log ke Logging. Salah satu dari opsi berikut:
    • CALL_LOG_LEVEL_UNSPECIFIED: tidak ada level logging yang ditentukan dan level log alur kerja yang berlaku. Ini adalah setelan defaultnya. Jika tidak, level log eksekusi akan berlaku dan lebih diprioritaskan daripada level log alur kerja.
    • LOG_ERRORS_ONLY: mencatat semua pengecualian yang tertangkap; atau saat panggilan dihentikan karena suatu pengecualian.
    • LOG_ALL_CALLS: mencatat semua panggilan ke sub-alur kerja atau fungsi library beserta hasilnya.
    • LOG_NONE: tidak ada logging panggilan.
  • ENV_KEY dan ENV_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 yang akan 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.iam.gserviceaccount.com",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_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, berarti operasi masih berlangsung.

Menghapus alur kerja

Anda dapat menghapus alur kerja yang ada. Menghapus alur kerja juga akan menghapus eksekusinya dan membatalkan semua eksekusi aktif untuk alur kerja tersebut.

Konsol

  1. Di konsol Google Cloud, buka halaman Workflows.

    Buka Workflows

  2. Klik nama alur kerja yang ingin Anda hapus, lalu klik Delete.

  3. Pada dialog untuk mengonfirmasi penghapusan, masukkan nama alur kerja.

  4. Klik Confirm.

gcloud

  1. Buka terminal.

  2. Temukan nama alur kerja yang ingin Anda hapus. Jika tidak tahu nama alur kerja, Anda dapat memasukkan perintah berikut untuk menampilkan daftar semua alur kerja:

    gcloud workflows list
    
  3. Hapus alur kerja menggunakan perintah gcloud workflows delete:

    gcloud workflows delete WORKFLOW_NAME
    

    Ganti WORKFLOW_NAME dengan nama 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, perluas salah satu opsi berikut:

Jika berhasil, isi respons berisi 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, berarti operasi masih berlangsung.

Langkah selanjutnya