All Products
Search
Document Center

Simple Log Service:Error Startup Mesin Transformasi Data

Last Updated:Mar 14, 2026

Topik ini menjelaskan penyebab error startup pada mesin transformasi data dan cara mengatasinya.

Langkah pertama dalam tugas transformasi data adalah memulai mesin transformasi data. Error startup terjadi ketika aturan SLS DSL yang Anda tulis gagal dalam pemeriksaan keamanan internal mesin. 加工引擎启动

Log error

Jika mesin mendeteksi aturan SLS DSL yang tidak valid selama startup, mesin akan mengembalikan error seperti berikut:

{
  "errorMessage": "ETL config doesn't pass security check, detail: XXXXXX"
}
Catatan

Anda dapat melihat log error di detail pengecualian Laporan diagnostik transformasi data atau di LogStore internal-etl-log.

  • Jika terjadi error selama startup mesin, tugas transformasi data akan mencoba ulang secara otomatis hingga berhasil atau Anda menghentikannya secara manual.

  • Setelah Anda memperbaiki aturan transformasi dan percobaan ulang berhasil, tugas akan melanjutkan operasi normal tanpa kehilangan atau duplikasi log.

Mengatasi error umum

  • Error sintaks dasar

    Aturan SLS DSL Anda melanggar aturan sintaks, misalnya dengan menggunakan tanda kurung yang tidak seimbang atau menulis koma (,) sebagai titik dua (:).

    • Log error

      {
        "errorMessage": "ETL config doesn't pass security check, detail: invalid syntax"
      }
      {
        "errorMessage": "ETL config doesn't pass security check, detail: unexpected EOF while parsing"
      }
      ...
    • Metode pemecahan masalah

      Gunakan informasi traceback dalam log error untuk menemukan lokasi pasti error sintaks tersebut. Misalnya, Anda menulis e_set("test", v("status")) sebagai e_set("test": v("status")), seperti yang ditunjukkan pada gambar berikut. 错误日志语法

  • Penggunaan operator yang tidak valid

    Semua operasi dalam SLS DSL harus menggunakan fungsi bawaan. Gunakan fungsi op_* untuk operasi aritmetika dan perbandingan; jangan gunakan operator mentah.

    • Log error

      {
        "errorMessage": "ETL config doesn't pass security check, detail: invalid type detected: <class `_ast.BinOp`> "
      }
    • Metode pemecahan masalah

      Tinjau aturan SLS DSL Anda dan pastikan semua operasi—termasuk aritmetika dan perbandingan—menggunakan fungsi SLS DSL.

    • Contoh

      e_set("b", v("a") - 10) # Invalid
      e_set("b", op_sub(v("a"), 10)) # Valid
      
      e_set("b", v("a") >= v("c")) # Invalid
      e_set("b", op_ge(v("a"), v("c"))) # Valid
  • Tipe parameter fungsi yang salah atau pemanggilan fungsi yang tidak terdefinisi

    Error terjadi jika Anda memberikan parameter dengan tipe yang salah ke suatu fungsi atau memanggil fungsi yang tidak ada.

    • Log error

      {
        "errorMessage": "ETL config doesn't pass security check, detail: invalid call in detected: function_name"
      }
    • Metode pemecahan masalah

      • Pastikan terlebih dahulu bahwa fungsi tersebut tersedia dan nama fungsinya dieja dengan benar. Jika fungsi tersebut ada dan namanya benar, verifikasi bahwa Anda memberikan parameter dengan tipe yang sesuai.

      • Gunakan informasi traceback dalam log error untuk mengidentifikasi fungsi yang gagal. Misalnya, jika dt_totimestamp gagal, pastikan fungsi tersebut tersedia, lalu periksa apakah tipe parameter yang diberikan sesuai. 函数错误信息

    • Contoh

      Fungsi dt_totimestamp mengharapkan objek datetime. Dalam contoh ini, v("time1") berupa string, sehingga menyebabkan error.

      Perbaiki dengan mengonversi string menjadi objek datetime menggunakan dt_parse sebelum memanggil dt_totimestamp, atau gunakan dt_parsetimestamp yang menerima string secara langsung.

      # Invalid
      e_set("time1", "2019-06-03 2:41:26")
      e_set("time2", dt_totimestamp(v("time1")))
      
      # Valid
      e_set("time1", "2019-06-03 2:41:26")
      e_set("time2", dt_totimestamp(dt_parse(v("time1"))))
      
      # Valid
      e_set("time1", "2019-06-03 2:41:26")
      e_set("time2", dt_parsetimestamp(v("time1")))
  • Pemanggilan fungsi ekspresi dalam operasi global

    SLS DSL mendukung dua jenis fungsi: fungsi operasi global dan fungsi ekspresi. Hanya fungsi operasi global yang dapat digunakan sebagai langkah mandiri dalam aturan transformasi. Memanggil fungsi ekspresi secara langsung akan menyebabkan error.

    • Log error

      {
        "errorMessage": "ETL config doesn't pass security check, detail:  invalid type detected: <class '_ast.Expr'>"
      }
    • Metode pemecahan masalah

      Periksa apakah Anda memanggil fungsi ekspresi secara langsung sebagai langkah transformasi.

    • Contoh

      # Invalid
      op_add(v("a"), v("b"))
      str_lower(v("name"))
      
      # Valid
      e_set("add", op_add(v("a"), v("b")))
      e_set("lower", str_lower(v("name")))
  • Penugasan variabel yang tidak valid

    SLS DSL tidak mendukung penugasan variabel. Sebagai gantinya, kirimkan nilai secara tanpa status (stateless).

    • Log error

      {
        "errorMessage": "ETL config doesn't pass security check, detail: invalid assign detected: variable_name"
      }
    • Metode pemecahan masalah

      • Periksa aturan SLS DSL Anda untuk penugasan variabel.

      • Identifikasi sumber error dari traceback dalam log error.

    • Contoh

      # Invalid
      sum_value = op_add(v("a"), v("b"))
      e_set("sum", sum_value)
      
      # Valid
      e_set("sum", op_add(v("a"), v("b")))