Masalah umum untuk Workflows

Halaman ini mencantumkan masalah umum untuk Alur Kerja.

Anda juga dapat memeriksa masalah yang ada atau membuka masalah baru di issue tracker publik.

Penempatan for langsung setelah try

Menempatkan for langsung 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 tersebut 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 error 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 Alur Kerja sebagai tujuan untuk pemicu Eventarc, peristiwa yang lebih besar dari ukuran argumen Alur Kerja 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 akan 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 Anda dengan menerapkan kebijakan percobaan ulang atau melalui penanganan pengecualian eksplisit.

Logging panggilan dan metode accessString untuk mengambil data rahasia

Jika tingkat logging panggilan ditetapkan ke log-all-calls saat menggunakan metode helper accessString untuk mengambil data secret, nilai secret tidak 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). Bahkan untuk permintaan yang berhasil, pengecualian yang mirip dengan berikut ini mungkin akan ditampilkan:

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 sehingga 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 informasi selengkapnya, lihat Referensi konektor.

Langkah selanjutnya

Pelajari strategi yang berguna saat memecahkan masalah.