数据血缘

工作流作业回答“某个源文件的处理是否完成”,Lineage 回答“结果从哪里来、被谁使用”。当前官方 SDK 只覆盖前者的一小部分:它能列出作业状态,但没有节点输出、日志或 Lineage 查询方法。

作业记录中可取得的信息

WorkflowJob/作业字典包含:

字段

说明

job_id / JobID

作业 ID;服务端原始字段为 id

workflow_id / WorkflowID

创建该作业的工作流

source_file_id / SourceFileID

查询时传入的源文件 ID;未传时 SDK 可能从描述中的 triggerTaskID 补出

status / Status

0 未知、1 运行中、2 完成、3 失败

start_time / StartTime

开始时间

end_time / EndTime

结束时间;运行中可能为空

列表接口不会返回节点输入输出、错误日志、结果文件 ID或 Lineage 边。完成状态也不等于结果内容已经通过业务校验。

读取产物

文档处理 helper 将结果写到创建时指定的目标 Volume。作业完成后,应通过 Catalog/File API 列出目标 Volume 的文件,再用 get_file()/GetFile() 或下载方法读取目标对象。建立应用侧关联时保存:

  • 工作流 ID;

  • 源文件 ID;

  • job ID;

  • 目标 Volume ID;

  • 找到的结果文件 ID;

  • 业务批次或请求 ID。

不要只保存临时下载地址。

引用关系与 Lineage 的区别

两个 SDK 提供 Catalog 引用辅助方法,例如:

  • Python:get_volume_ref_list()get_table_ref_list()add_volume_workflow_ref()remove_volume_workflow_ref()

  • Go:对应的 GetVolumeRefListGetTableRefListAddVolumeWorkflowRefRemoveVolumeWorkflowRef

这些方法管理或读取 Catalog 对象引用,不是完整的表级、列级、行级或文件处理 Lineage 图 API。不能用引用列表推断某次作业成功,也不能据此重建节点执行链。

当前查询边界

官方 SDK 尚未公开 Lineage 查询类型或方法。需要上游/下游图、列映射或非结构化文件处理轨迹时,使用 Catalog UI 或目标实例明确发布的 Product API。删除或变更资产前先检查下游依赖;判断作业状态时则使用运行控制中的作业接口。