All Products
Search
Document Center

Simple Log Service:Error Sintaksis dalam Mengambil Data RDS MySQL

Last Updated:Mar 14, 2026

Jika aturan transformasi memerlukan data yang diambil dari ApsaraDB RDS for MySQL, error dapat terjadi saat data ditarik atau diperbarui. Topik ini menjelaskan berbagai error tersebut beserta solusinya.

Setelah mesin transformasi membaca data dari Logstore sumber, proses transformasi event log dimulai. Jika aturan transformasi memuat resource eksternal—seperti Object Storage Service (OSS), RDS, atau Logstore lainnya—error juga dapat terjadi selama proses pemuatan atau penyegaran (refresh).

Gunakan fungsi resource secara mandiri di konsol

  • Aturan transformasi

    res_rds_mysql(address="xx",username="xx",password="xx",database="xx")
  • Log error

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

    Pesan error ini menunjukkan adanya kesalahan konfigurasi sintaksis. Error ini umum terjadi ketika Anda menggunakan fungsi res_rds_mysql, res_log_LogStore_pull, atau res_oss_file secara terpisah di konsol Simple Log Service.

  • Solusi

    Gunakan fungsi resource bersamaan dengan fungsi e_table_map karena fungsi resource tidak dapat digunakan secara mandiri di konsol Simple Log Service.

Pengaturan parameter tidak valid

  • Aturan transformasi

    e_table_map(res_rds_mysql(address="xx",username="xx",password="xx",database="xx"),field="processid",output_fields=["name","xixi"])
  • Log error

    When sql is not set, table must be set\nDetail: None
  • Metode pemecahan masalah

    Periksa apakah parameter table atau sql telah dikonfigurasi.

  • Solusi

    Jika parameter table tidak dikonfigurasi, Anda harus menentukan pernyataan SQL untuk menemukan tabel yang diperlukan. Tanpa pernyataan SQL dalam situasi ini, tabel yang diperlukan tidak dapat ditemukan dan data tidak dapat ditarik. Oleh karena itu, Anda harus mengonfigurasi salah satu dari parameter table atau sql.

Bidang output tidak valid

  • Aturan transformasi

    e_table_map(res_rds_mysql(address="x",username="xx",password="xx",database="xx",table="test"),field="processid",output_fields=["name","xixi"])
  • Log error

    trans_comp_lookup: output field xixi doesn't exist in lookup table\nDetail: None
  • Metode pemecahan masalah

    Bidang-bidang dalam parameter output_fields tidak ada di tabel yang dituju.

  • Solusi

    Verifikasi bidang-bidang di tabel data MySQL dan masukkan bidang yang benar pada parameter output_fields.

Pengaturan tipe parameter tidak valid

  • Aturan transformasi

    e_table_map(res_rds_mysql(address="xxx",username=1234,password="xx",database="xx",table="xx"),field="processid",output_fields=["name","xixi"])
  • Log error

    username not a string type\nInvalid Settings
  • Metode pemecahan masalah

    Nilai parameter username bukan bertipe string.

  • Solusi

    Konfigurasikan tipe data yang sesuai.

Error jaringan atau izin

  • Aturan transformasi

    e_table_map(res_rds_mysql(address="xxx",username=xxx,password="xx",database="test999",table="xx"),field="processid",output_fields=["name","xixi"])
  • Log error 1

    message:  Database connection failed, cause: (1045, "Access denied for user 'user1'@'192.0.2.1' (using password: YES)")
  • Log error 2

    message:  Database connection failed, cause: (1049, "Unknown database 'test999')
  • Metode pemecahan masalah

    Periksa apakah konfigurasi valid, koneksi jaringan tersambung, atau daftar putih yang diperlukan telah dikonfigurasi pada instans ApsaraDB RDS for MySQL yang bersangkutan. Jika terjadi error koneksi, bidang cause dalam log error berisi penyebab detail error tersebut. Anda dapat melakukan troubleshooting berdasarkan informasi tersebut. Error umum mencakup kurangnya izin, kata sandi salah, dan alamat tidak valid.

  • Solusi

    Konfigurasi ulang fungsi-fungsi tersebut dan mulai ulang pekerjaan transformasi data.

Error sintaksis SQL

  • Aturan transformasi

    e_table_map(res_rds_mysql(address="xxx",username=xxx,password="xx",database="xx",sql="inset into test values(1,"aini")",field="processid",output_fields=["name","xixi"]))
  • Log error

    \"errorMessage\": \"The sql_query field only supports database query syntax\\nInvalid Settings \\\"insert into test values(1,aini)\\\"\\nDetail: None\", \"requestId\": \"\"}
  • Metode pemecahan masalah

    Ini merupakan error sintaksis SQL. Fungsi resource hanya mendukung pembacaan data dari database. Pernyataan SQL yang tidak valid—misalnya yang ditujukan untuk menulis ke database—juga dapat memicu fetch data error. Jika hal ini terjadi, analisis akar penyebab error tersebut.

  • Solusi

    Perbaiki sintaksis SQL. Fungsi resource hanya mendukung pernyataan SELECT.

Error refresh berkelanjutan

  • Aturan transformasi

    e_table_map(res_rds_mysql(address="xxx",username=xxx,password="xx",database="xx",table="test,field="processid",output_fields=["name","xixi"],refresh_interval=30))
  • Log error

    \"errorMessage\": \"Database connection failed, cause: (2003, \\\"Can't connect to MySQL server on 'rm-wz9z68i4itrk4v8d9yo.mysql.rds.aliyuncs.com' (timed out))
  • Metode pemecahan masalah

    Error ini terjadi karena daftar putih tertentu pada instans ApsaraDB RDS for MySQL yang diperlukan telah dihapus. Jika terjadi error seperti gangguan jaringan selama transformasi berkelanjutan, pekerjaan transformasi data akan secara otomatis mencoba ulang. Namun, jika error disebabkan oleh pencabutan izin atau penghapusan tabel yang tidak disengaja, Anda harus memberikan kembali izin atau memulihkan tabel tersebut secara manual.

  • Solusi

    Periksa apakah tabel atau izin di database pada instans ApsaraDB RDS for MySQL telah diubah berdasarkan penyebab error tersebut.