Melihat histori langkah eksekusi

Anda dapat mengambil histori eksekusi alur kerja tertentu sebagai daftar entri langkah. Setiap entri langkah memberikan informasi yang dapat membantu Anda saat menganalisis, men-debug, atau mengoptimalkan alur kerja. Misalnya, Anda dapat mengonfirmasi langkah mana yang benar-benar dijalankan, dan Anda dapat menentukan durasi dan keberhasilan suatu langkah. Hal ini dapat sangat membantu saat men-debug alur kerja non-linear yang besar atau rumit (misalnya, alur kerja dengan banyak cabang paralel).

Entri langkah mewakili langkah sebenarnya dalam kode sumber (misalnya, assign atau call) atau blok instruksi (misalnya, loop for atau blok try/retry/except). Untuk mengetahui daftar lengkap jenis langkah, lihat StepType.

Tingkat histori eksekusi

Saat membuat atau mengeksekusi alur kerja, Anda dapat menentukan histori eksekusi Dasar atau Mendetail. Anda dapat menerapkan setelan ini di tingkat alur kerja atau eksekusi.

Secara default, tidak ada tingkat histori eksekusi yang ditentukan dan entri langkah Dasar ditampilkan.

Jika Anda ingin histori eksekusi menyertakan nilai variabel dalam cakupan dan, jika berlaku, perkiraan jumlah iterasi (misalnya, saat menggunakan loop for, atau cabang atau iterasi paralel), Anda harus menetapkan tingkat histori eksekusi ke Detail.

Jika tingkat histori eksekusi tidak ditentukan untuk eksekusi, tingkat tersebut ditentukan oleh tingkat yang diterapkan pada alur kerja. Jika tingkatnya berbeda, setelan yang diterapkan di tingkat eksekusi akan menggantikan setelan yang diterapkan di tingkat alur kerja untuk eksekusi tersebut.

Cara mengambil entri langkah

Anda dapat mengambil entri langkah dengan mengirim permintaan ke Workflow Executions REST API atau melalui konsol Google Cloud :

Informasi entri langkah

Entri langkah mencakup informasi berikut. Entri langkah mendetail juga mencakup informasi entri langkah dasar.

Untuk mengetahui informasi selengkapnya, dalam dokumen ini, lihat Contoh.

Informasi entri langkah dasar

Nama Nama resource lengkap entri langkah yang merupakan ID unik dengan format berikut, dan dengan STEPENTRY_ID adalah penghitung yang terus bertambah:
projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/STEPENTRY_ID
Contoh:
projects/123456789012/locations/us-central1/workflows/myFirstWorkflow/executions/ae8a66a1-cefa-4d16-8a2f-d50c712d8ef1/stepEntries/2
Waktu pembuatan dan pembaruan Stempel waktu untuk waktu pembuatan entri langkah dan update terbarunya. Jika entri langkah telah selesai, updateTime menunjukkan waktu penyelesaian.
Nama rutinitas dan langkah Nama rutinitas dan langkah yang menjadi bagian dari entri langkah. Nama rutinitas adalah nama sub-alur kerja yang ditentukan dalam kode sumber YAML atau JSON. Nama rutin tingkat teratas adalah main.
Jenis status dan progres Status entri langkah—misalnya, apakah entri berhasil atau gagal, atau apakah entri langkah sedang berlangsung dan jenis progresnya. Untuk daftar lengkap jenis status dan progres, lihat Status dan ProgressType.
Informasi navigasi

Posisi entri langkah sehingga Anda dapat lebih memahami hierarki dan alur kerja—misalnya, entri langkah mana yang muncul sebelum atau setelah entri langkah saat ini, atau mana yang merupakan induk atau turunan dari entri langkah.

Untuk mengetahui detailnya, lihat NavigationInfo.
Metadata

Data yang terkait dengan entri langkah iteratif, yang dapat mencakup hal berikut:

  • ID yang menunjukkan thread turunan—misalnya, STEP_PARALLEL_BRANCH_ENTRY mana dalam STEP_PARALLEL_BRANCH
  • Iterasi loop for—misalnya, STEP_FOR_ITERATION mana yang STEP_FOR_ITERATION dalam STEP_FOR
Untuk mengetahui detailnya, lihat StepEntryMetadata.
Pengecualian Payload terkait pengecualian apa pun dan yang memberikan deskripsi tentang alasan entri langkah gagal.

Informasi entri langkah mendetail

Metadata

Jika berlaku, perkiraan jumlah iterasi dalam progres langkah—misalnya, saat menggunakan loop for, cabang paralel, atau iterasi.

Perhatikan bahwa jumlah yang dihitung tidak akan berfungsi seperti yang diharapkan jika batas loop menyertakan ekspresi yang menggabungkan salah satu dari berikut ini:

  • Kedalaman ekspresi bertingkat yang melebihi 10
  • Fungsi bawaan selain len()
  • Evaluasi yang melibatkan nilai seperti .inf, -.inf, .NAN, Infinity, atau -Infinity
  • Error
Untuk mengetahui detailnya, lihat StepEntryMetadata.
Data variabel

Data terkait nilai variabel dalam cakupan yang terkait dengan langkah ini termasuk nama dan nilai variabel lokal yang ditentukan pengguna dan hasil evaluasi ekspresi.

Perhatikan bahwa cakupan ini mengecualikan variabel internal yang ditautkan ke fungsi bawaan Workflows.

Untuk mengetahui detailnya, lihat VariableData.

Melihat entri langkah di konsol

Anda dapat melihat entri langkah untuk eksekusi alur kerja tertentu di konsolGoogle Cloud .

  1. Di konsol Google Cloud , buka halaman Workflows.

    Buka Workflows

  2. Klik nama alur kerja untuk membuka halaman Detail alur kerja.

  3. Untuk melihat detail tentang eksekusi tertentu, klik ID eksekusinya.

    Di tab Ringkasan, informasi tentang eksekusi secara keseluruhan diberikan, termasuk pengecualian apa pun yang menyebabkan kegagalan eksekusi. Untuk mengetahui informasi selengkapnya, lihat Peta error eksekusi.

  4. Untuk melihat histori eksekusi alur kerja sebagai daftar entri langkah, klik tab Langkah.

    Semua entri langkah untuk eksekusi alur kerja dicantumkan.

  5. Untuk memfilter entri langkah, gunakan kolom Filter di bagian atas tabel untuk memilih properti dan nilai—misalnya, State: Failed.

  6. Untuk menampilkan link untuk entri langkah Induk, Turunan, Berikutnya, dan Sebelumnya, klik entri langkah tertentu.

    Jika Anda mengklik link, link lainnya akan otomatis diperbarui. Misalnya, Induk akan ditautkan ke induk entri langkah yang Anda klik.

  7. Panel Visualisasi memberikan representasi grafis dari langkah-langkah dalam alur kerja dan membantu Anda memahami jalur alur kerja.

    Contoh panel visualisasi

    Klik diagram untuk memperbesar:

    Panel visualisasi menampilkan alur kerja dengan langkah-langkah yang gagal

    Perhatikan bahwa visualisasi dapat berbeda dari entri langkah. Misalnya, blok for digambarkan sebagai satu komponen dalam visualisasi; namun, bergantung pada jumlah iterasi, mungkin ada beberapa entri langkah.

    Anda dapat melakukan hal berikut di panel:

    • Memperbesar atau memperkecil visualisasi
    • Menciutkan atau meluaskan entri langkah induk
    • Klik entri langkah dan lihat entri sebelumnya dan berikutnya
    • Konfirmasi entri langkah yang berhasil dan gagal seperti yang ditunjukkan oleh tanda centang hijau atau tanda seru merah
    • Tutup panel Visualisasi dengan mengklik panah peluas ; klik lagi untuk membuka panel

Sebelum mengambil entri langkah

Untuk mendapatkan izin yang diperlukan guna mengambil entri langkah, minta administrator Anda untuk memberi Anda peran IAM Workflows Admin (workflows.stepEntries.get) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Mengambil entri langkah

Untuk mengambil entri langkah untuk eksekusi alur kerja tertentu, gunakan metode projects.locations.workflows.executions.stepEntries.get.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor Google Cloud project Anda yang tercantum di halaman IAM & Admin Settings.
  • LOCATION: region tempat alur kerja di-deploy—misalnya, us-central1.
  • WORKFLOW_ID: nama yang ditentukan pengguna untuk alur kerja—misalnya, myFirstWorkflow.
  • EXECUTION_ID: ID unik untuk eksekusi alur kerja yang ditampilkan setelah alur kerja dieksekusi.
  • STEPENTRY_ID: ID unik untuk entri langkah—misalnya, 1.

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/STEPENTRY_ID",
  "createTime": "2024-08-15T19:03:08.328851864Z",
  "updateTime": "2024-08-15T19:03:08.331099634Z",
  "routine": "main",
  "step": "checkSearchTermInInput",
  "stepType": "STEP_CONDITION",
  "state": "STATE_SUCCEEDED",
  "entryId": "2",
  "navigationInfo": {
    "children": [
      "3"
    ],
    "parent": "1",
    "next": "3",
    "previous": "1"
  },
  "variableData": {}
}

Sebelum Anda mencantumkan entri langkah

Untuk mendapatkan izin yang diperlukan untuk mencantumkan entri langkah, minta administrator Anda untuk memberi Anda peran IAM Workflows Admin (workflows.stepEntries.list) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Mencantumkan entri langkah

Untuk mencantumkan entri langkah untuk eksekusi alur kerja tertentu, gunakan metode projects.locations.workflows.executions.stepEntries.list. Secara default, hasil ditampilkan dalam urutan menaik createTime entri langkah.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor Google Cloud project Anda yang tercantum di halaman IAM & Admin Settings.
  • LOCATION: region tempat alur kerja di-deploy—misalnya, us-central1.
  • WORKFLOW_ID: nama yang ditentukan pengguna untuk alur kerja—misalnya, myFirstWorkflow.
  • EXECUTION_ID: ID unik untuk eksekusi alur kerja yang ditampilkan setelah alur kerja dieksekusi.

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "stepEntries": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/1",
      "createTime": "2024-08-15T19:03:08.328807964Z",
      "updateTime": "2024-08-15T19:03:08.331099694Z",
      "routine": "main",
      "step": "checkSearchTermInInput",
      "stepType": "STEP_SWITCH",
      "state": "STATE_SUCCEEDED",
      "entryId": "1",
      "navigationInfo": {
        "children": [
          "2"
        ],
        "next": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/2",
      "createTime": "2024-08-15T19:03:08.328851864Z",
      "updateTime": "2024-08-15T19:03:08.331099634Z",
      "routine": "main",
      "step": "checkSearchTermInInput",
      "stepType": "STEP_CONDITION",
      "state": "STATE_SUCCEEDED",
      "entryId": "2",
      "navigationInfo": {
        "children": [
          "3"
        ],
        "parent": "1",
        "next": "3",
        "previous": "1"
      },
      "variableData": {}
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/3",
      "createTime": "2024-08-15T19:03:08.331037314Z",
      "updateTime": "2024-08-15T19:03:08.331099554Z",
      "routine": "main",
      "step": "checkSearchTermInInput.condition1",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "3",
      "navigationInfo": {
        "parent": "2",
        "next": "4",
        "previous": "2"
      },
      "variableData": {
        "variables": {
          "input": {
            "searchTerm": "asia"
          },
          "searchTerm": "asia"
        }
      }
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/4",
      "createTime": "2024-08-15T19:03:08.331100404Z",
      "updateTime": "2024-08-15T19:03:08.633741469Z",
      "routine": "main",
      "step": "readWikipedia",
      "stepType": "STEP_CALL",
      "state": "STATE_SUCCEEDED",
      "entryId": "4",
      "navigationInfo": {
        "next": "5",
        "previous": "3"
      },
      "variableData": {}
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/5",
      "createTime": "2024-08-15T19:03:08.633969694Z",
      "updateTime": "2024-08-15T19:03:08.634063018Z",
      "routine": "main",
      "step": "returnOutput",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "5",
      "navigationInfo": {
        "previous": "4"
      },
      "variableData": {
        "variables": {
          "wikiResult": {
            "headers": {
              ...
            },
            "body": [
              ...
            ],
            "code": 200
          },
          "input": {
            "searchTerm": "asia"
          },
          "searchTerm": "asia"
        }
      }
    }
  ],
  "totalSize": 5
}

Menghapus entri langkah

Untuk menghapus semua entri langkah untuk eksekusi alur kerja tertentu, gunakan metode projects.locations.workflows.executions.deleteExecutionHistory.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • WORKFLOW_NAME: nama alur kerja.
  • PROJECT_NUMBER: nomor project Anda. Google Cloud
  • LOCATION: region tempat alur kerja di-deploy—misalnya, us-central1.
  • EXECUTION_ID: ID eksekusi yang entri langkahnya harus dihapus.

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Jika berhasil, isi respons akan kosong.

Contoh

Alur kerja dengan blok for

Alur kerja

YAML

- assignStep:
    assign:
      - sum: 0
- forStep:
    for:
      range: [1, 2]
      value: v
      steps:
        - sumStep:
            assign:
              - sum: ${sum + v}
- returnStep:
    return: ${sum}

JSON

[
  {
    "assignStep": {
      "assign": [
        {
          "sum": 0
        }
      ]
    }
  },
  {
    "forStep": {
      "for": {
        "range": [
          1,
          2
        ],
        "value": "v",
        "steps": [
          {
            "sumStep": {
              "assign": [
                {
                  "sum": "${sum + v}"
                }
              ]
            }
          }
        ]
      }
    }
  },
  {
    "returnStep": {
      "return": "${sum}"
    }
  }
]

Diagram

Alur kerja dengan blok for
Gambar 1. Alur kerja dengan blok for (klik diagram untuk memperbesar).

Entri langkah

{
  "stepEntries": [
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/1",
      "createTime": "2024-08-15T19:32:18.119578307Z",
      "updateTime": "2024-08-15T19:32:18.119661828Z",
      "routine": "main",
      "step": "assignStep",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "1",
      "navigationInfo": {
        "next": "2"
      },
      "variableData": {
        "variables": {
          "sum": 0
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/2",
      "createTime": "2024-08-15T19:32:18.119662643Z",
      "updateTime": "2024-08-15T19:32:18.120893531Z",
      "routine": "main",
      "step": "forStep",
      "stepType": "STEP_FOR",
      "state": "STATE_SUCCEEDED",
      "entryId": "2",
      "navigationInfo": {
        "children": [
          "3",
          "5"
        ],
        "next": "3",
        "previous": "1"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "expectedIteration": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/3",
      "createTime": "2024-08-15T19:32:18.119732820Z",
      "updateTime": "2024-08-15T19:32:18.120463449Z",
      "routine": "main",
      "step": "forStep",
      "stepType": "STEP_FOR_ITERATION",
      "state": "STATE_SUCCEEDED",
      "entryId": "3",
      "navigationInfo": {
        "children": [
          "4"
        ],
        "parent": "2",
        "next": "4",
        "previous": "2"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "progressNumber": "1"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/4",
      "createTime": "2024-08-15T19:32:18.119737066Z",
      "updateTime": "2024-08-15T19:32:18.120463358Z",
      "routine": "main",
      "step": "sumStep",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "4",
      "navigationInfo": {
        "parent": "3",
        "next": "5",
        "previous": "3"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "progressNumber": "1"
      },
      "variableData": {
        "variables": {
          "sum": 1,
          "v": 1
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/5",
      "createTime": "2024-08-15T19:32:18.120465172Z",
      "updateTime": "2024-08-15T19:32:18.120893471Z",
      "routine": "main",
      "step": "forStep",
      "stepType": "STEP_FOR_ITERATION",
      "state": "STATE_SUCCEEDED",
      "entryId": "5",
      "navigationInfo": {
        "children": [
          "6"
        ],
        "parent": "2",
        "next": "6",
        "previous": "4"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "progressNumber": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/6",
      "createTime": "2024-08-15T19:32:18.120470187Z",
      "updateTime": "2024-08-15T19:32:18.120893389Z",
      "routine": "main",
      "step": "sumStep",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "6",
      "navigationInfo": {
        "parent": "5",
        "next": "7",
        "previous": "5"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "progressNumber": "2"
      },
      "variableData": {
        "variables": {
          "sum": 3,
          "v": 2
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/7",
      "createTime": "2024-08-15T19:32:18.120894873Z",
      "updateTime": "2024-08-15T19:32:18.121003185Z",
      "routine": "main",
      "step": "returnStep",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "7",
      "navigationInfo": {
        "previous": "6"
      },
      "variableData": {
        "variables": {
          "sum": 3
        }
      }
    }
  ],
  "totalSize": 7
}

Alur kerja dengan panggilan sub-alur kerja

Alur kerja

YAML

main:
  steps:
    - callStep:
        call: square
        args:
          x: 10
        result: t
    - retStep:
        return: ${t}
square:
  params: [x]
  steps:
    - assignStep:
        assign:
          - y: ${x*x}
    - retStep:
        return: ${y}

JSON

{
  "main": {
    "steps": [
      {
        "callStep": {
          "call": "square",
          "args": {
            "x": 10
          },
          "result": "t"
        }
      },
      {
        "retStep": {
          "return": "${t}"
        }
      }
    ]
  },
  "square": {
    "params": [
      "x"
    ],
    "steps": [
      {
        "assignStep": {
          "assign": [
            {
              "y": "${x*x}"
            }
          ]
        }
      },
      {
        "retStep": {
          "return": "${y}"
        }
      }
    ]
  }
}

Diagram

Alur kerja dengan panggilan sub-alur kerja
Gambar 2. Alur kerja dengan panggilan sub-alur kerja (klik diagram untuk memperbesar).

Entri langkah

{
  "stepEntries": [
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/1",
      "createTime": "2024-08-15T19:37:44.162778920Z",
      "updateTime": "2024-08-15T19:37:44.168683007Z",
      "routine": "main",
      "step": "callStep",
      "stepType": "STEP_CALL",
      "state": "STATE_SUCCEEDED",
      "entryId": "1",
      "navigationInfo": {
        "children": [
          "2",
          "3"
        ],
        "next": "2"
      },
      "variableData": {
        "variables": {
          "t": 100
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/2",
      "createTime": "2024-08-15T19:37:44.168598736Z",
      "updateTime": "2024-08-15T19:37:44.168657969Z",
      "routine": "square",
      "step": "assignStep",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "2",
      "navigationInfo": {
        "parent": "1",
        "next": "3",
        "previous": "1"
      },
      "variableData": {
        "variables": {
          "y": 100,
          "x": 10
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/3",
      "createTime": "2024-08-15T19:37:44.168659349Z",
      "updateTime": "2024-08-15T19:37:44.168676547Z",
      "routine": "square",
      "step": "retStep",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "3",
      "navigationInfo": {
        "parent": "1",
        "next": "4",
        "previous": "2"
      },
      "variableData": {
        "variables": {
          "x": 10,
          "y": 100
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/4",
      "createTime": "2024-08-15T19:37:44.168693503Z",
      "updateTime": "2024-08-15T19:37:44.168702324Z",
      "routine": "main",
      "step": "retStep",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "4",
      "navigationInfo": {
        "previous": "3"
      },
      "variableData": {
        "variables": {
          "t": 100
        }
      }
    }
  ],
  "totalSize": 4
}

Alur kerja dengan entri langkah yang gagal

Alur kerja

YAML

- tryStep:
    try:
      return: ${1 / 0}
    except:
      return: 0

JSON

[
  {
    "tryStep": {
      "try": {
        "return": "${1 / 0}"
      },
      "except": {
        "return": 0
      }
    }
  }
]

Diagram

Alur kerja dengan entri langkah yang gagal
Gambar 3. Alur kerja dengan entri langkah yang gagal (klik diagram untuk memperbesar).

Entri langkah

{
  "stepEntries": [
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/1",
      "createTime": "2024-08-15T19:42:51.415433810Z",
      "updateTime": "2024-08-15T19:42:51.416106923Z",
      "routine": "main",
      "step": "tryStep",
      "stepType": "STEP_TRY_RETRY_EXCEPT",
      "state": "STATE_SUCCEEDED",
      "entryId": "1",
      "navigationInfo": {
        "children": [
          "2",
          "4"
        ],
        "next": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/2",
      "createTime": "2024-08-15T19:42:51.415439617Z",
      "updateTime": "2024-08-15T19:42:51.416065206Z",
      "routine": "main",
      "step": "tryStep",
      "stepType": "STEP_TRY",
      "state": "STATE_FAILED",
      "entryId": "2",
      "navigationInfo": {
        "children": [
          "3"
        ],
        "parent": "1",
        "next": "3",
        "previous": "1"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/3",
      "createTime": "2024-08-15T19:42:51.415441815Z",
      "updateTime": "2024-08-15T19:42:51.416064665Z",
      "routine": "main",
      "step": "tryStep.try",
      "stepType": "STEP_RETURN",
      "state": "STATE_FAILED",
      "exception": {
        "payload": "{\"message\":\"ZeroDivisionError: division by zero\",\"tags\":[\"ZeroDivisionError\",\"ArithmeticError\"]}"
      },
      "entryId": "3",
      "navigationInfo": {
        "parent": "2",
        "next": "4",
        "previous": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/4",
      "createTime": "2024-08-15T19:42:51.416071869Z",
      "updateTime": "2024-08-15T19:42:51.416106840Z",
      "routine": "main",
      "step": "tryStep",
      "stepType": "STEP_EXCEPT",
      "state": "STATE_SUCCEEDED",
      "entryId": "4",
      "navigationInfo": {
        "children": [
          "5"
        ],
        "parent": "1",
        "next": "5",
        "previous": "3"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/5",
      "createTime": "2024-08-15T19:42:51.416087217Z",
      "updateTime": "2024-08-15T19:42:51.416106742Z",
      "routine": "main",
      "step": "tryStep.except",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "5",
      "navigationInfo": {
        "parent": "4",
        "previous": "4"
      },
      "variableData": {}
    }
  ],
  "totalSize": 5
}

Langkah berikutnya