上传 GDIM 检查 (GDIM Upload Check)

当 pipeline 只是本地脚本运行时,很多配置只要能在当前 Python 环境中执行通过即可;但如果要将 gdisdk.pipeline.pipeline.PipeLine 保存为 .pipe 并上传到 GDIM 平台运行,还需要额外检查 序列化兼容性、平台运行上下文、输出结果形态 等问题。

本页用于给出统一入口和总检查清单。各模块的权威规则,以对应 modules_help.*.rst 文档中固定标题 “上传 GDIM 前检查” 的小节为准。

为什么需要单独检查

  • 本地运行环境 可以直接访问当前脚本目录、内存中的函数对象、临时文件和调试输出;

  • GDIM 平台运行环境 只能依赖 .pipe 中可序列化的信息,以及平台侧可访问的脚本、模板、凭证和输出格式;

  • 因此,本地能跑通 并不等于 上传到 GDIM 后一定能正常运行或产出正确结果

总检查清单

上传前建议至少检查以下几类问题:

  1. 可序列化配置

    • 是否使用了无法写入 .pipe 的 inline callable、临时闭包或仅存在于当前会话中的对象;

    • 是否将本地函数改为独立 .py 文件 + 字符串函数名 + @local_function 形式;

    • 是否存在 “本地 inline 配置会遮蔽文件方式配置” 的情况。

  2. 平台运行上下文

    • 是否清楚区分“上传后会被平台接管的配置”和“仍需要你自己准备的资源”:

      • tokenproj_idtpl_id 等运行时 GDIM 参数,上传后会由平台统一接管和写入,不需要作为上传前人工检查项

      • pipeline.workspacepipeline.local_functions_path 这类运行时路径,上传后也会被平台改写或替换;

      • 模板文件等业务资源,则应通过 pipeline attribute、前端传入的文件对象等方式提供,不要只依赖写死在 .pipe 里的本机绝对路径。

    • 是否误依赖了不会被平台接管、且仅本机存在的临时文件或调试目录。

  3. 输出结果形态

    • 输出是否需要保存在 GDIM 文件服务器,而不是只留在本地路径;

    • 输出是否应面向 GDIM / Web 前端渲染(例如 OutputPlotData),而不仅仅是本地 HTML / 图片文件;

    • 下游模块是否依赖平台侧真正可消费的输出端口类型。

  4. 本地调试参数

    • 是否还保留了只适用于本地调试的开关、临时模板路径、示例输入或过量调试输出;

    • 是否有默认值在本地没问题,但上传平台后会导致输出缺失或行为偏差。

当前已整理的重点模块

当前已补充上传前检查说明的模块

模块 / 模块组

上传前重点检查

规则来源

PythonCoder

local_function_name / ui_schema_function_name 应优先使用字符串函数名;本地函数使用独立脚本 + @local_function,避免 inline callable 无法序列化。

modules.widgets 模块帮助

AddTableColumns

仅当 column_templates 中使用 function:xxx 时,需要改用文件方式本地函数;若同时配置 inline 与文件方式,inline 会优先。

modules.operators 模块帮助

TableCalculator

仅当模板中使用 function:xxx 时,需要改用文件方式本地函数;注意 inline 配置会遮蔽文件方式配置。

modules.operators 模块帮助

DocPrinter / ExcelPrinter

若最终结果文件需要在 GDIM 平台侧留存或回传,需确认 save_to_gdim=True,GDIM State 在 pipeline 层统一提供,模板通过 pipeline attribute / 前端传入的文件描述提供。

modules.writers 模块帮助

LineChartPlotter / BarChartPlotter / ScatterChartPlotter / HistogramPlotter / PieChartPlotter / TablePlotter / PlotMerger

平台侧需要的是 OutputPlotData;上传前通常应关闭不必要的 HTML / 图片文件生成。

modules.plotters 模块帮助

推荐检查顺序

  1. 先识别 pipeline 中实际使用了哪些模块。

  2. 到对应 modules_help.*.rst 页面查阅该模块的 “上传 GDIM 前检查” 小节。

  3. 确认哪些配置会由平台接管,哪些模板、脚本和输出形态仍需要你按平台运行方式显式准备。

  4. 再保存 .pipe 并进行上传前复核。

Note

为了便于后续 AI 检查和自动化维护,建议今后凡是存在“本地可运行但上传 GDIM 前需额外调整”的模块,都在对应模块帮助中使用统一小节标题 “上传 GDIM 前检查” 来记录规则。