利用轻易云平台进行ETL转换并写入简道云API接口

  • 轻易云集成顾问-彭亮

金蝶云星空数据集成到简道云客户表的技术实践

在本案例中,我们将详细解析如何通过轻易云数据集成平台,将金蝶云星空(Kingdee Cloud Galaxy)的客户数据高效、安全地对接至简道云(Jiandao Cloud)中的客户表,并确保整个过程中不漏单、快速写入和可靠抓取。具体实施方案被命名为:金蝶-客户--->简道云-客户。

一、调用金蝶云星空接口executeBillQuery获取源数据

首先,在系统对接初期,最关键的一步是从金蝶云星空获取所需的原始数据。在这里,我们利用其公开的API接口 executeBillQuery 来实现这一目标。该接口能够灵活地查询并返回符合条件的数据记录,为后续的数据处理与传输奠定了基础。

二、大量数据快速写入到简道云

一旦成功抓取到金蝶端的数据,如何高效地将这些大量信息批量导入至简道云便成为新的挑战。借助轻易平台强大的可视化操作界面及其支持的大量并发处理能力,我们可以通信调度 /api/v2/app/{app_id}/entry/{entry_id}/data_create 接口,实现大批量数据库创建操作,从而显著提升整体效率。

三、分页与限流问题的解决策略

由于我们面对的是庞大的企业级系统互联,因此不可避免会遇到分页和限流的问题。例如,针对金蝶API返回结果进行分页处理以及如何应对请求频次限制。对此,我们设计了一套自适应分步查询机制,通过合理配置参数来控制每次请求的记录数,使得即使是在极其复杂的数据增删改查业务场景下,也能保证顺利完成任务而不会触发目标服务器过载保护措施。

四、跨系统之间的数据格式差异转换

在不同系统间集成时,经常需要解决各自字段定义以及存储格式规范上的差异。本次案例中尤为如此:必须针对从金蝶采集来的JSON结构体进行适配性调整,以符合简道接受规则及显示要求。这部分工作同样依赖轻易平台强大且富有弹性的映射能力,以自动化方式实现字段匹配、类型变换等多项步骤,大幅减少人工参与干预环节,提高整合效率和准确度。

通过上述几大核心要点,本篇文章开头部分介绍了在实际项目中应当关注的重要技术细节,为后续深化探讨提供了坚实铺垫。

企业微信与OA系统接口开发配置

调用金蝶云星空接口executeBillQuery获取并加工数据

在数据集成过程中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用金蝶云星空的executeBillQuery接口,以获取客户数据并进行初步加工。

元数据配置解析

首先,我们需要理解元数据配置metadata的各个字段及其作用。以下是关键字段的解释:

  • api: 接口名称,这里为executeBillQuery
  • effect: 操作类型,这里为QUERY,表示查询操作。
  • method: HTTP请求方法,这里为POST
  • number, id, name: 这些字段用于标识和校验数据的唯一性。
  • request: 请求参数列表,包含了需要从金蝶云星空获取的字段信息。

请求参数详解

在请求参数中,每个字段都有特定的用途和格式要求。以下是一些关键字段及其描述:

  • FCUSTID: 客户ID
  • FNumber: 编码
  • FName: 名称
  • FCreateOrgId_FNumber: 创建组织
  • FUseOrgId_FNumber: 使用组织
  • 其他字段如描述、客户类别、客户分组等也都包含在内。

此外,还有一些分页和过滤参数:

  • Limit: 最大行数,用于分页控制。
  • StartRow: 开始行索引,用于分页控制。
  • FilterString: 过滤条件,用于限定查询范围,例如:FApproveDate>='{{LAST_SYNC_TIME|datetime}}' and FUseOrgId.FNumber in ('102','109')
  • FieldKeys: 需查询的字段key集合。

调用接口获取数据

在轻易云数据集成平台上,我们可以通过配置上述元数据来调用金蝶云星空的接口。以下是一个示例请求体:

{
    "FormId": "BD_Customer",
    "FieldKeys": "FCUSTID,FNumber,FName,FCreateOrgId.FNumber,FUseOrgId.FNumber,FDescription,FCustTypeId.FNumber,FGroup.FNumber,FSALDEPTID.FNumber,FSELLER.FNumber,FSETTLETYPEID.FNumber,FRECCONDITIONID.FNumber,FShortName,FADDRESS,FTEL,FFAX,FCompanyClassify.FNumber,FINVOICETITLE,FINVOICEBANKACCOUNT,FCURRENCYID.FNumber,FTRADINGCURRID,FUseOrgId.FName",
    "FilterString": "FApproveDate>='2023-01-01' and FUseOrgId.FNumber in ('102','109')",
    "Limit": "100",
    "StartRow": "0"
}

该请求体指定了需要查询的表单ID(客户表),以及所需字段和过滤条件。

数据清洗与加工

获取到原始数据后,需要对其进行清洗和初步加工。例如,可以对日期格式进行转换,对某些字段进行合并或拆分等。这一步骤可以通过轻易云平台提供的数据处理工具来实现。

以下是一个简单的数据清洗示例:

def clean_data(raw_data):
    cleaned_data = []
    for record in raw_data:
        cleaned_record = {
            "CustomerID": record["FCUSTID"],
            "CustomerCode": record["FNumber"],
            "CustomerName": record["FName"],
            # 对日期格式进行转换
            "ApprovedDate": convert_date_format(record["FApproveDate"]),
            # 合并地址信息
            "FullAddress": f"{record['FADDRESS']}, {record['FCity']}, {record['FState']}"
        }
        cleaned_data.append(cleaned_record)
    return cleaned_data

写入目标系统

经过清洗和加工后的数据,可以通过轻易云平台写入到目标系统(如简道云)。这一步骤通常涉及到目标系统API的调用,并确保数据格式符合目标系统要求。

{
    "api": "/api/v1/customers",
    "method": "POST",
    "data": {
        "CustomerID": "{CustomerID}",
        "CustomerCode": "{CustomerCode}",
        "CustomerName": "{CustomerName}",
        # 其他字段...
    }
}

通过上述步骤,我们完成了从金蝶云星空获取客户数据,并将其清洗、加工后写入到简道云的全过程。这不仅提高了数据处理效率,也确保了数据的一致性和准确性。 打通钉钉数据接口

使用轻易云数据集成平台进行ETL转换并写入简道云API接口

在数据集成的生命周期中,ETL(提取、转换、加载)是关键步骤之一。本文将重点探讨如何使用轻易云数据集成平台,将已经集成的源平台(金蝶)的客户数据进行ETL转换,转为简道云API接口所能够接收的格式,并最终写入目标平台。

数据请求与清洗

在开始ETL转换之前,首先需要从源平台(金蝶)提取客户数据。这部分工作通常涉及调用金蝶的API接口获取原始数据,并对这些数据进行初步清洗和验证,以确保其完整性和准确性。

数据转换与写入

在轻易云数据集成平台上,我们可以通过配置元数据来实现对金蝶客户数据的转换和写入。以下是具体的元数据配置:

{
  "api": "/api/v2/app/{app_id}/entry/{entry_id}/data_create",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {
      "field": "_widget_1704877011053",
      "label": "使用组织编码",
      "type": "string",
      "describe": "111",
      "value": "{FUseOrgId_FNumber}",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "value"
      }
    },
    {
      "field": "_widget_1706498287239",
      "label": "对应门店",
      "type": "string",
      "describe": "111",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "value"
      }
    },
    {
      ...
    }
  ],
  ...
}

配置解析与应用

  1. API接口配置

    • api: 指定了简道云的数据创建接口路径。
    • method: 使用POST方法提交数据。
    • idCheck: 启用ID检查,确保唯一性。
  2. 字段映射与解析: 每个字段都有详细的映射配置,包括字段名、标签、类型、描述和解析器。例如:

    {
     "field": "_widget_1704877011053",
     "label": "使用组织编码",
     ...
     "value": "{FUseOrgId_FNumber}",
     ...
    }

    这里将金蝶中的FUseOrgId_FNumber字段映射到简道云中的_widget_1704877011053字段,并通过ConvertObjectParser解析器进行值的转换。

  3. 附加请求参数: 除了主要的数据字段,还可以配置其他请求参数,如启动工作流等:

    {
     ...
     {"field":"is_start_workflow","label":"is_start_workflow","type":"string","describe":"111","value":"true"},
     {"field":"transaction_id","label":"transaction_id","type":"string","describe":"111","value":"1"},
     ...
    }

实际操作步骤

  1. 提取数据:通过调用金蝶API获取客户数据。
  2. 配置元数据:根据上述元数据配置,将提取的数据进行映射和解析。
  3. 执行转换:利用轻易云的数据处理功能,对提取的数据进行必要的清洗和转换。
  4. 提交请求:通过POST方法,将处理后的数据提交到简道云API接口,实现数据写入。

技术要点

  • 异构系统支持:轻易云平台能够无缝对接不同系统,实现异构系统间的数据传输和转换。
  • 全生命周期管理:从数据提取到最终写入,全过程透明可视化,确保每个环节都可追踪。
  • 实时监控与调试:在实际操作中,可以实时监控每个步骤的数据流动和处理状态,及时发现并解决问题。

通过以上步骤,我们成功实现了从金蝶到简道云的数据集成。利用轻易云平台强大的ETL功能,可以高效地完成复杂的数据处理任务,提高业务透明度和效率。 金蝶与外部系统打通接口

更多系统对接方案