本文档为您介绍数据加工规则中资源加载错误的原因以及排查处理方法。
如果加工规则中涉及RDS、Logstore等外联资源的加载,则有可能会产生资源的加载或刷新错误。
- 当加载或刷新外联资源发生错误时,会一直重试进行加载或刷新,直到重试成功或被手动停止。重试成功后,加工任务会继续正常工作。
- 加工任务会保存之前成功的断点并一直重试。重试成功后,从断点处继续读取,不会产生数据的丢失和冗余。
错误影响
- 在加载或刷新外联资源发生错误时,会一直进行加载或刷新的重试,直到重试成功或被手动停止。重试成功后,加工任务会继续正常工作。
- 加工任务会保存之前成功的断点并一直重试。重试成功后,从断点处继续读取,不会产生数据的丢失和冗余。
错误处理机制
资源加载的错误处理机制请分别参见res_log_logstore_pull,res_rds_mysql和res_oss_file中的错误处理部分。
通用错误排查
- 加工规则样例
res_log_logstore_pull(endpoint="cn-shenzhen.log.aliyuncs.com",ak_id="xxx", ak_secret="xxx",project="etl-test-shenzhen", fields=["__source__"]),field="processid",output_fields=["xx"]
res_rds_mysql(address="xx",username="xx",password="xx",database="xx")
res_oss_file(endpoint='xx',ak_id="xx",ak_key="xx",bucket='xx', file='xx',format='xx',change_detect_interval=0)
- 错误日志
aliyun.log.logexception.LogException: {"errorCode": "InvalidEtlConfig", "errorMessage": "ETL config doesn't pass security check, detail: invalid type detected: <class '_ast.Expr'>", "requestId": ""}
- 排查方法
一般抛出如上错误日志,就是语法配置的错误,这种错误常见于用户在控制台单独使用
res_log_logstore_pull
,res_rds_mysql
,res_oss_file
语法,资源函数不可以单独在控制台使用,单独使用没有任何意义,所以会报出错误配置语法。 - 解决方法
请结合
e_table_map
或者e_search_table_map
等相关调用资源函数的编排语法进行使用。
常见错误排查
- 关于从其他Logstore获取数据错误请参见获取Logstore数据(维表)错误。
- 关于从OSS获取数据错误请参见从OSS获取数据出错。
- 关于从RDS获取数据错误请参见获取RDS-Mysql数据语法错误。