Halaman ini mencantumkan masalah umum Workflows.
Anda juga dapat memeriksa masalah yang ada atau membuka masalah baru di issue tracker publik.
Penempatan for
langsung setelah try
Menempatkan for
tepat setelah try
akan menyebabkan error. Misalnya, satu langkah
dapat ditempatkan langsung setelah try
, seperti ini:
- try: try: call: sys.log args: data: works retry: ${http.default_retry}
Namun, jika Anda memosisikan for
setelah try
, langkah akan gagal, dan Anda tidak dapat
men-deploy alur kerja. Contoh:
- try: try: for: value: v range: [1,2] steps: - log: call: sys.log args: data: ${v} retry: ${http.default_retry}
Pesan errornya adalah sebagai berikut:
Could not deploy workflow: failed to build: error in step try: loop step name should not be empty (Code: 3)
Solusinya adalah menambahkan langkah bernama setelah try
. Contoh:
- try: try: steps: - loopStep: for: value: v range: [1,2] steps: - log: call: sys.log args: data: ${v} retry: ${http.default_retry}
Peristiwa yang lebih besar dari ukuran argumen maksimum
Jika menggunakan Workflows sebagai tujuan pemicu Eventarc, peristiwa yang lebih besar dari ukuran argumen Workflows maksimum akan gagal memicu eksekusi alur kerja. Untuk mengetahui informasi selengkapnya, silakan melihat Kuota dan batas.
Pesan HTTP request lost
dalam log
Saat menjalankan alur kerja yang memanggil Cloud Build, alur kerja Anda gagal dan
ada pesan HTTP request lost
di log yang mirip dengan berikut:
[1500] HTTP request lost INTERNAL MESSAGE: HTTP request lost ... CAUSED BY: RPC::UNREACHABLE: RPC connection timed out: FDD 20s, last read 2022-10-14 16:39:04 -0700 PDT
Jika Anda mengalami error ini, coba ubah alur kerja dengan menerapkan kebijakan percobaan ulang atau melalui penanganan pengecualian eksplisit.
Logging panggilan dan metode accessString
untuk mengambil data rahasia
Jika
tingkat pencatatan log panggilan disetel ke
log-all-calls
saat
menggunakan metode helper accessString
untuk mengambil data rahasia,
nilai rahasia tidak akan disamarkan, dan dicetak dalam teks biasa ke log di
jsonPayload.succeeded.response
.
Pengecualian operasi yang berjalan lama saat menggunakan konektor Cloud Resource Manager
Metode konektor Resource Manager,
googleapis.cloudresourcemanager.v3.projects.patch
,
tidak menampilkan nama operasi yang berjalan lama (LRO). Meskipun permintaan berhasil, pengecualian yang mirip dengan berikut ini mungkin terjadi:
exception: "{"message":"Long-running operation returned unexpected response.", "operation":{"done":true,"response":{"@type":"type.googleapis.com/google.cloud.resourcemanager.v3.Project", ... "tags":["ResponseTypeError"]}"
Untuk menghindari error polling LRO,
tetapkan parameter konektor skip_polling
ke true
agar panggilan
pemanggilan konektor tidak memblokir jika permintaan awal berhasil. Permintaan yang berhasil akan menampilkan "done":true
; jika tidak, untuk menangkap pengecualian, gunakan struktur try/except
.
Untuk mengetahui informasi selengkapnya, lihat
Referensi konektor.
Permintaan HTTP ke Google Kubernetes Engine (GKE)
Setiap cluster GKE memiliki bidang kontrol yang menangani permintaan Kubernetes API. Bidang kontrol memiliki dua jenis endpoint untuk akses cluster: endpoint berbasis DNS dan endpoint berbasis IP. Untuk mengetahui informasi selengkapnya, lihat Akses bidang kontrol.
Workflows tidak lagi mendukung permintaan HTTP ke endpoint berbasis IP dari bidang kontrol cluster GKE. Untuk mengetahui informasi selengkapnya tentang cakupan dan dampak penghentian penggunaan ini, lihat pengumuman layanan.
Untuk memastikan alur kerja Anda berfungsi seperti yang diharapkan, Anda harus mengakses endpoint berbasis DNS. Untuk mengakses endpoint berbasis DNS, sebaiknya gunakan konektor Kubernetes API dalam alur kerja. Untuk mengetahui informasi selengkapnya, lihat Mengakses objek Kubernetes API menggunakan konektor.
Langkah berikutnya
Pelajari strategi yang berguna saat memecahkan masalah.