SLS的LogStore是Append-Only追加写入,而Dify工作流执行存在从RUNNING到SUCCEEDED/FAIL的状态流转。SLS插件通过多版本控制策略解决这个问题。写入策略:每次状态更新不覆盖旧日志,而是新写入一条包含完整状态的日志记录,通过纳秒级时间戳字段log_version区分不同版本。读取策略:查询或统计时插件内部生成聚合SQL,对同一个workflow_run_id始终选取log_version最大的那条记录作为最终状态。这种方式既适配了SLS的追加写入特性,又保证了Dify业务逻辑中对状态查询的正确性,是抹平关系型数据库与日志系统数据模型差异的关键技术策略。




