轻易云
注册体验

字段格式化处理

· 系统管理员· 产品文档· 35 次浏览· 约 3 分钟读完
字段格式化formatResponse数据集成DataHub字段映射

功能概览

我们设计这个功能的初衷是:在数据集成链路中,源系统返回的字段格式往往与下游业务系统、报表或 API 的期望格式不一致。最常见的例子就是源平台把发货日期返回为 YYYYMMDD HH:MM:SS 这种长日期时间字符串,而下游只需要 YYYYMMDD 形式的短日期。如果每一种格式差异都靠脚本或人工清洗,成本会非常高。

因此,轻易云数据集成平台在 DataHub 的字段映射层提供了内置的 formatResponse 自定义函数。它允许用户在配置集成策略时声明一组「原字段 → 新字段 → 目标格式」的映射关系,平台会在数据流转过程中自动完成格式化,并把结果以新字段的形式注入到后续的处理管线中。整个过程无需编写额外脚本,也不依赖外部转换服务。

使用场景

典型使用场景包括但不限于:

  1. 日期与时间的格式化:源系统返回 20240115 14:30:00,下游需要拆分为日期 20240115 与时间 14:30:00,或者需要相对描述如「三天前」「一周前」。
  2. 金额的千分位展示:源系统返回的金额是原始数值字符串,需要在报表中显示为带货币符号与千分位的 ¥1,000.00,方便财务核对。
  3. 长文本的截断与省略:详情类字段过长,在列表页或日志中需要截断为 ... 形式的预览文本,避免数据冗余。
  4. 数值类型的归一化:源字段为字符串型数字,下游需要严格的整型或固定小数位数的浮点型,可直接通过 intvalround(2) 一键转换。
  5. 数组与文本的互转:标签、分类等多值字段,需要拼接为逗号分隔的字符串用于导出或接口传输。

配置说明

formatResponse 是一个数组结构,数组中的每一项描述一条格式化规则,示例配置如下:

json
"formatResponse": [
  {
    "old": "delivery_statusInfo.delivery_date",
    "new": "modify_date_new",
    "format": "date"
  }
]

字段含义:

  • old:源平台返回的原始字段路径,支持点号(.)分隔的多层嵌套,例如 delivery_statusInfo.delivery_date
  • new:经过格式化后生成的新字段名称,后续节点将直接读取 new 字段。
  • format:目标格式,可选值见下表。

平台当前支持的格式类型如下:

格式关键字说明示例输出
date标准日期2020-11-11
time标准时间13:33:21
dateTime日期时间2020-12-12 23:23
shortDate短日期09-31
shortTime短时间13:23
shortDateTime短日期时间09-31 11:23
dateDescription文本描述日期一天前一周前三个月前一年前
amount金额千分位¥1,000.00¥0.00
longText(15)长文本省略,默认 15 字符这是一个很长很长的文本...
intval整数*整数
round(2)浮点精度,默认 2 位*浮点精度
implode(',')数组转文本,默认英文逗号*数组转文本

带括号的格式(如 longText(15)round(2)implode(','))允许传入自定义参数,覆盖默认值。

注意事项

  1. 新字段不会覆盖原字段new 是平台额外生成的字段,原字段 old 依然保留,便于回溯与对账。
  2. 字段路径需与源系统一致old 必须严格按照源平台返回的 JSON 结构填写,包括层级与字段名,否则会取不到值。
  3. 格式参数慎重使用longTextroundimplode 等带参数的格式,参数变化会直接影响输出结果,建议在策略上线前用样本数据验证。
  4. 多次格式化可叠加:如果同一字段需要连续做多种处理(例如先转短日期再转文本描述),可以在数组中配置多条规则,依次作用于前一步产生的新字段。
  5. 相对时间依赖基准:使用 dateDescription 时,结果依赖于数据流入时刻与原始时间戳的差值,请确保源时间字段已包含正确的时区信息。
  6. 金额符号与语言环境amount 输出默认带 符号,若下游系统有不同币种或格式要求,请评估是否需要在后续节点再做二次处理。

通过 formatResponse,我们希望把字段格式化这一高频、轻量但繁琐的工作沉淀到平台能力中,让集成策略的可读性更高、运维成本更低。

本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/product-docs/doc-n9403bb8e

评论