ETL步骤及元数据配置指导:写入金蝶云星空

  • 轻易云集成顾问-吴伟

聚水潭-供应商——>金蝶-供应商数据集成案例分享

在实际项目中,我们通过轻易云数据集成平台成功实现了聚水潭系统的供应商数据与金蝶云星空的无缝对接。该方案从技术上确保了高效可靠的数据传输和转换,满足企业对实时性和准确性的严苛要求。本文将重点探讨具体的实施步骤及解决方案中的关键技术细节。

首先,考虑到聚水潭系统提供了丰富的API接口用于数据获取,如/open/supplier/query,我们利用这一接口进行定时且可靠的数据抓取。在处理大量供应商信息时,通过平台支持的大量数据快速写入功能,将抓取到的信息批量整合并以最快速度写入目标系统即金蝶云星空,这里使用的是其提供的batchSave接口。

在整个流程中,我们特别注意到两个方面的问题:分页处理和限流策略,以及两套系统之间的数据格式差异。在聚水潭接口调用过程中,通过灵活设置分页参数和实现限流机制来确保不会遗漏任何一条记录,同时也不让单次请求过载服务器资源。另外,为了解决不同系统间的数据结构差异,我们自定义了一套转换逻辑,使得源头数据能完美映射至目标字段,并保持一致性。

此外,在异常处理与重试机制方面,我们设计了一系列自动化监控脚本,一旦发现错误或失败情况,即可即时告警并进行适当操作,如重试或手动干预。这种集中监控和告警系统大大提升了任务执行的透明度,也保证了全链路稳定运行。同时,在平台内置可视化工具辅助下,整个数据流设计变得更加直观,从而有效简化管理难度。

接下来章节将进一步详细介绍具体实现方法、代码示例以及实际效果等内容。 电商OMS与WMS系统接口开发配置

调用聚水潭接口/open/supplier/query获取并加工数据

在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用聚水潭接口/open/supplier/query来获取供应商数据,并对其进行初步加工。

接口配置与请求参数

首先,我们需要配置元数据以便正确调用聚水潭的API接口。以下是元数据配置的详细信息:

{
  "api": "/open/supplier/query",
  "effect": "QUERY",
  "method": "POST",
  "number": "supplier_id",
  "id": "supplier_id",
  "name": "supplier_id",
  "idCheck": true,
  "request": [
    {
      "field": "page_index",
      "label": "页数",
      "type": "string",
      "describe": "页数",
      "value": "1"
    },
    {
      "field": "page_size",
      "label": "每页大小",
      "type": "string",
      "describe": "每页大小",
      "value": "50"
    },
    {
      "field": "modified_begin",
      "label": "修改开始时间",
      "type": "string",
      "describe": "修改开始时间",
      "value": "{{LAST_SYNC_TIME|datetime}}"
    },
    {
      "field": "modified_end",
      "label": "修改结束时间",
      "type": "string",
      "describe": "修改结束时间",
      "value": "{{CURRENT_TIME|datetime}}"
    }
  ],
  “autoFillResponse”: true
}

该配置文件定义了API的基本信息和请求参数。具体参数如下:

  • page_index: 页数,默认值为1。
  • page_size: 每页大小,默认值为50。
  • modified_begin: 修改开始时间,使用占位符{{LAST_SYNC_TIME|datetime}}表示上次同步时间。
  • modified_end: 修改结束时间,使用占位符{{CURRENT_TIME|datetime}}表示当前时间。

数据请求与清洗

在发起请求时,我们需要确保所有参数都已正确设置。以下是一个示例请求:

{
  “page_index”: “1”,
  “page_size”: “50”,
  “modified_begin”: “2023-09-01T00:00:00Z”,
  “modified_end”: “2023-09-30T23:59:59Z”
}

发送POST请求后,系统会返回包含供应商信息的数据集。为了确保数据质量,我们需要对返回的数据进行清洗和验证。例如,可以检查每个供应商ID是否唯一,并过滤掉重复或无效的数据。

数据转换与写入

在完成数据清洗后,下一步是将数据转换为目标系统所需的格式,并写入目标系统。在本案例中,我们将供应商数据从聚水潭导入到金蝶系统。这一步通常涉及以下操作:

  1. 字段映射:将源系统中的字段映射到目标系统中的对应字段。例如,将supplier_id映射到金蝶中的供应商ID字段。
  2. 格式转换:根据目标系统的要求,对数据格式进行必要的转换。例如,将日期格式从ISO标准转换为目标系统所需的格式。
  3. 批量处理:为了提高效率,可以将多个记录打包成批量进行处理和写入。

实践案例

假设我们从聚水潭获取了以下供应商数据:

[
  {
    “supplier_id”: “1001”,
    “name”: “供应商A”,
    “contact”: “张三”,
    “phone”: “1234567890”
  },
  {
    “supplier_id”: “1002”,
    “name”: “供应商B”,
    “contact”: “李四”,
    “phone”: “0987654321”
  }
]

我们需要将这些数据转换并导入到金蝶系统中。首先,进行字段映射和格式转换,然后通过API或其他方式将处理后的数据写入金蝶。

总结

通过轻易云数据集成平台调用聚水潭接口/open/supplier/query获取并加工供应商数据,是实现异构系统间无缝对接的重要步骤。本文详细介绍了如何配置元数据、发送请求、清洗和验证返回的数据,以及最终将其转换并写入目标系统。这一过程不仅提高了业务透明度和效率,也确保了数据的一致性和可靠性。 打通钉钉数据接口

使用轻易云数据集成平台进行ETL转换并写入金蝶云星空API接口

在数据集成过程中,ETL(Extract, Transform, Load)是关键步骤之一。本文将深入探讨如何使用轻易云数据集成平台,将已经集成的源平台数据进行ETL转换,并转为金蝶云星空API接口所能接收的格式,最终写入目标平台。

数据请求与清洗

在数据集成生命周期的第一步,我们已经从源平台(如聚水潭)获取了供应商相关的数据。这些数据经过初步的清洗和预处理,准备好进行下一步的转换与写入操作。

数据转换与写入

为了将这些数据成功写入金蝶云星空,我们需要遵循其API接口规范。以下是元数据配置,用于将供应商信息通过batchSave方法批量保存到金蝶云星空。

{
  "api": "batchSave",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {
      "field": "FNumber",
      "label": "编码",
      "type": "string",
      "describe": "编码",
      "value": "{supplier_id}"
    },
    {
      "field": "FName",
      "label": "名称",
      "type": "string",
      "describe": "名称",
      "value": "{name}"
    },
    {
      "field": "FUseOrgId",
      "label": "使用组织",
      "type": "string",
      "describe": "使用组织",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "FNumber"
      },
      "value": 100
    },
    {
      "field": "FCreateOrgId",
      "label": "创建组织",
      "type": "string",
      "describe": "创建组织",
      {
        parser: {
          name: 'ConvertObjectParser',
          params: 'FNumber'
        },
        value: 100
    }
  ],
  otherRequest: [
    {
      field: 'FormId',
      label: '业务对象表单Id',
      type: 'string',
      describe: '必须填写金蝶的表单ID如:PUR_PurchaseOrder',
      value: 'BD_Supplier'
    },
    {
      field: 'Operation',
      label: '执行的操作',
      type: 'string',
      describe: '执行的操作',
      value: 'batchSave'
    },
    {
       field: 'IsVerifyBaseDataField',
       label: '验证基础资料',
       type: 'bool',
       describe: '是否验证所有的基础资料有效性,布尔类,默认false(非必录)',
       value: false
     },
     {
       field: 'IsAutoSubmitAndAudit',
       label: '提交并审核',
       type: 'bool',
       describe: '提交并审核',
       value:true
     }
   ],
   operation:{
     rowsKey:'array', 
     rows :1,
     method:'batchArraySave'
   }
}

元数据配置解析

  1. API调用方式:使用POST方法,通过batchSave API接口实现批量保存。
  2. 字段映射
    • FNumber 对应供应商编码 {supplier_id}
    • FName 对应供应商名称 {name}
    • FUseOrgIdFCreateOrgId 均设定为固定值 100,并通过 ConvertObjectParser 转换为符合金蝶要求的格式。
  3. 其他请求参数
    • FormId: 设置为 BD_Supplier,指定业务对象表单ID。
    • Operation: 执行操作类型为 batchSave
    • IsVerifyBaseDataField: 设置为 false, 不验证所有基础资料有效性。
    • IsAutoSubmitAndAudit: 设置为 true, 自动提交并审核。

操作步骤

  1. 配置元数据:根据上述配置,在轻易云平台上设置相应的元数据规则。
  2. 执行转换:利用轻易云平台提供的可视化工具,将源平台的数据映射到目标格式。确保每个字段都正确转换,并符合金蝶API接口要求。
  3. 批量保存:通过调用配置好的API接口,将转换后的数据批量保存到金蝶云星空系统中。

技术要点

  • 异构系统对接:轻易云平台支持多种异构系统的数据对接,通过灵活配置,实现不同系统间的数据无缝流转。
  • 全生命周期管理:从数据请求、清洗、转换到最终写入,全程可视化监控和管理,提高透明度和效率。
  • 自动化处理:利用自动提交和审核功能,减少人工干预,提高流程自动化程度。

通过以上步骤,我们成功地将源平台的数据转换并写入到了目标平台(金蝶云星空),实现了高效、准确的数据集成。这一过程展示了轻易云数据集成平台在复杂业务场景中的强大能力。 打通钉钉数据接口

更多系统对接方案