Setelah Anda menjalankan alur kerja, Anda dapat mengakses hasil eksekusi alur kerja di Google Cloud konsol atau menggunakan Google Cloud CLI.
Konsol
Di Google Cloud konsol, buka halaman Workflows.
Untuk mengakses hasil eksekusi alur kerja, klik nama alur kerja untuk membuka halaman Detail alur kerja.
Untuk mengetahui detail tentang eksekusi tertentu, di tab Eksekusi, klik ID eksekusi dalam daftar untuk membuka halaman Detail eksekusi.
Di tab Ringkasan, setiap eksekusi memiliki informasi berikut:
- ID Eksekusi: ID unik eksekusi alur kerja.
- Status eksekusi: menunjukkan status akhir alur kerja, termasuk langkah alur kerja saat ini atau akhir.
- Eksekusi dibuat: saat eksekusi dimulai.
- Awal eksekusi: saat eksekusi mulai berjalan dan menjalankan langkah-langkah.
- Akhir eksekusi: saat eksekusi berakhir.
- Durasi eksekusi: total waktu yang berlalu. Hal ini dapat menjadi indikasi error jaringan atau masalah konektivitas.
- Nama alur kerja: nama alur kerja.
- Revisi alur kerja: revisi saat ini pada saat eksekusi.
- Level log panggilan: level logging panggilan yang diterapkan selama eksekusi. Untuk mengetahui informasi selengkapnya, lihat Logging panggilan.
- Input: argumen runtime yang diteruskan ke alur kerja, jika ada.
- Output: output alur kerja. Jika eksekusi gagal, akan menyertakan pengecualian yang menyebabkan kegagalan eksekusi. Dalam dokumen ini, lihat Peta error eksekusi.
Untuk melihat histori eksekusi alur kerja sebagai daftar entri langkah, klik tab Langkah. Untuk mengetahui informasi selengkapnya, lihat Melihat histori langkah eksekusi.
Untuk melihat log eksekusi alur kerja, klik tab Log.
Untuk memfilter log eksekusi, gunakan kolom Filter di bagian atas tabel. Misalnya, untuk hanya menampilkan upaya eksekusi yang gagal, masukkan
faileddi kolom teks filter.
gcloud
Untuk melihat daftar lengkap eksekusi alur kerja, masukkan perintah berikut:
gcloud workflows executions list WORKFLOW_NAMEGanti
WORKFLOW_NAMEdengan nama alur kerja Anda. Salin ID eksekusi yang Anda minati.Untuk melihat log eksekusi alur kerja, masukkan perintah berikut:
gcloud workflows executions describe \ --workflow=WORKFLOW_NAME \ EXECUTION_IDGanti kode berikut:
WORKFLOW_NAME: nama alur kerjaEXECUTION_ID: ID unik eksekusi
Perintah ini menampilkan output yang mirip dengan berikut:
Outputnya berisi informasi berikut:argument: 'null' endTime: '2022-07-19T12:40:07.070039707Z' error: context: |- The argument of 'in' must be a dict or an array; got: null in step "checkSearchTermInInput", routine "main", line: 12 payload: "{"message":"The argument of 'in' must be a dict or an array; got: null"
,"tags":["TypeError"]}" stackTrace: elements: - position: column: '26' length: '24' line: '12' routine: main step: checkSearchTermInInput name: projects/1051295516635/locations/us-central1/workflows/myFirstWorkflow/executions/17ffc89c-0a27-4d2f-8356-e681d949a3d3 startTime: '2022-07-19T12:40:07.024823663Z' state: FAILED status: currentSteps: - routine: main step: checkSearchTermInInput workflowRevisionId: 000001-ac2argument: argumen runtime yang diteruskan ke alur kerja, jika adaendTime: saat eksekusi berakhirerror: pesan error yang ditampilkan sebagai bagian dari pengecualian yang mengakibatkan kegagalan eksekusiname: nama lengkap eksekusi, termasuk nama project, lokasi alur kerja, nama alur kerja, dan ID eksekusistartTime: saat eksekusi dimulaistate: menunjukkan status akhir alur kerjastatus: langkah alur kerja saat ini atau akhir dari eksekusiworkflowRevisionID: revisi saat ini pada saat eksekusi
Peta error eksekusi
Jika alur kerja menampilkan error selama eksekusi yang tidak tertangkap dalam blok
try/except, eksekusi akan gagal, dan peta error (kamus JSON) yang menjelaskan error akan
ditampilkan.
Error yang ditampilkan selama eksekusi alur kerja berisi tag untuk membantu Anda mengidentifikasi penyebab error. Misalnya, error yang ditampilkan dari konektor dapat memiliki dua kunci (tags dan message) yang mirip dengan berikut:
{'tags': ['SystemError'], 'message': 'an error has occurred'}
Bisa ada lebih dari satu tag. Untuk memeriksa tag tertentu, Anda dapat menggunakan ekspresi . Contoh:
${'SystemError' in e.tags}
Mengakses data error yang ditampilkan sebagai string
Beberapa konektor dan HTTP API akan menserialisasi error sebagai string sebelum menampilkan error. Anda dapat menggunakan fungsi library standar untuk memulihkan payload ke error asli. Misalnya, untuk mengonversi string error ke peta, Anda dapat menggunakan
fungsi json.decode
dan text.encode:
json.decode(text.encode(ERROR_FROM_API))
Tag error
Tabel berikut menjelaskan arti dari berbagai tag error.
| Tag | Deskripsi |
|---|---|
| AuthError | Ditampilkan saat pembuatan kredensial untuk permintaan HTTP gagal. |
| ConnectionError | Ditampilkan saat koneksi berhasil dibuat dengan endpoint tetapi ada masalah dengan koneksi selama transfer data. Koneksi dihentikan sebelum respons lengkap diterima dan pesan mungkin belum dikirim ke endpoint. Upaya coba lagi mungkin tidak bersifat idempoten. |
| ConnectionFailedError | Ditampilkan saat koneksi tidak dibuat dengan endpoint API; misalnya, karena nama domain yang salah, masalah resolusi DNS, atau masalah jaringan lainnya. Upaya coba lagi bersifat idempoten. |
| HttpError | Ditampilkan saat permintaan HTTP gagal dengan status error HTTP. Saat pengecualian ini ditampilkan, responsnya adalah peta dengan elemen berikut:
|
| IndexError | Ditampilkan saat subskrip urutan adalah bilangan bulat di luar rentang. |
| KeyError | Ditampilkan saat kunci peta tidak ditemukan dalam kumpulan kunci yang ada. |
| OperationError | Ditampilkan saat operasi yang berjalan lama selesai tanpa berhasil. |
| ParallelNestingError | Ditampilkan saat kedalaman maksimum langkah paralel yang dapat di-nesting terlampaui. |
| RecursionError | Ditampilkan saat interpreter mendeteksi bahwa kedalaman stack panggilan maksimum terlampaui. |
| ResourceLimitError | Ditampilkan saat batas resource tertentu habis. Jika ditampilkan secara internal, jenis error ini tidak dapat ditangkap dan menyebabkan kegagalan eksekusi langsung. |
| ResponseTypeError | Ditampilkan saat operasi yang berjalan lama menampilkan respons dengan jenis yang salah |
| SystemError | Ditampilkan saat interpreter menemukan error internal. |
| TimeoutError | Ditampilkan saat fungsi sistem mengalami waktu tunggu habis di tingkat sistem. |
| TypeError | Ditampilkan saat operasi atau fungsi diterapkan ke objek dengan jenis yang tidak kompatibel. Nilai terkait adalah string yang memberikan detail tentang ketidakcocokan jenis. |
| UnhandledBranchError | Ditampilkan saat satu atau beberapa cabang atau iterasi mengalami error runtime yang tidak tertangani hingga jumlah maksimum. |
| ValueError | Ditampilkan saat operasi atau fungsi menerima argumen yang memiliki
jenis yang benar tetapi nilai yang salah, dan situasinya tidak dijelaskan
oleh pengecualian yang lebih tepat, seperti IndexError. |
| ZeroDivisionError | Ditampilkan saat argumen kedua dari operasi pembagian atau modulo adalah nol. Nilai terkait adalah string yang menunjukkan jenis operand dan operasi. |
Anda juga dapat menampilkan error kustom
menggunakan sintaksis raise.
Langkah berikutnya
- Ringkasan proses debug
- Masalah umum untuk Workflows
- Mengirim log eksekusi ke Cloud Logging
- Memecahkan masalah