ETL技术在金蝶云星空数据集成中的应用

  • 轻易云集成顾问-黄宏棵

金蝶云星空到金蝶云星空的高效数据集成:JY-BDS采入提交-审核

在企业的数据集成实践中,合理配置和实现系统对接是确保业务流程顺畅运行的重要环节。本文将分享一个实际运行的案例——通过轻易云数据集成平台,将金蝶云星空中的数据高效集成到另一实例的金蝶云星空系统,该方案名称为“JY-BDS采入提交-审核”。此案例重点解决了大批量数据快速写入、实时监控和异常处理等关键技术问题。

首先,我们需要从源头金蝶云星空获取所需的数据,这一步主要依赖ExecuteBillQuery接口以定时抓取特定业务单据的信息。为了保证数据不出现遗漏,通过制定可靠的调度策略,能够定期且稳定地调用API,一次性获取大量单据信息,并通过分页技术来应对接口限流的问题。

接下来面对的是如何将这些获取的数据无缝、高效地传输至目标端金蝶云星空。这一过程中,轻易云提供了强大的支持,包括高吞吐量的数据写入能力及自定义转换逻辑功能,使得在批量写入前进行必要的数据加工与映射,以贴合目标端系统需求。同时,对接过程还利用了集中监控和告警机制,实现对任务状态和性能的实时跟踪,一旦检测到异常情况可以即时响应并触发重试机制,从而提升整体容错率。

完成初步转换后,通过调用目标端API Audit 将经过整理后的数据推送至新的金蝶云实例中。在此过程中,应特别注意两者之间可能存在的数据格式差异,通过可视化设计工具预先设定好映射规则,有效减少人工干预,提高效率。此外,为确保每个步骤都有迹可循,还针对每个操作进行了详细日志记录和实时监控管理。在整个生命周期内,每一个环节都经由全透明界面展示,使业务方能清晰了解当前进展与状态,不仅提高了操作便利性,也保障了业务连续性。

最终,这一整套方案成功导通了一条完整且高效、稳定、安全的数据流动路径,实现两个独立系统间的大规模自动化同步,大幅降低人力成本,提高处理效率。 打通金蝶云星空数据接口

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

在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将深入探讨如何通过轻易云数据集成平台调用金蝶云星空的ExecuteBillQuery接口,获取并加工数据。

接口配置与调用

首先,我们需要配置和调用金蝶云星空的ExecuteBillQuery接口。该接口采用POST方法进行请求,以下是元数据配置:

{
  "api": "ExecuteBillQuery",
  "method": "POST",
  "number": "FBillNo",
  "id": "FId",
  "pagination": {
    "pageSize": 10
  },
  "idCheck": true,
  "request": [
    {
      "field": "Limit",
      "label": "最大行数",
      "type": "string",
      "describe": "金蝶的查询分页参数",
      "value": "50"
    },
    {
      "field": "StartRow",
      "label": "开始行索引",
      "type": "string",
      "describe": "金蝶的查询分页参数",
      "value": "{PAGINATION_START_ROW}"
    },
    {
      "field": "TopRowCount",
      "label": "",
      "type": "",
      ""
    },
    {
      ""
    }
  ]
}

请求参数解析

在请求参数中,我们需要特别注意以下几个字段:

  • Limit: 最大行数,限制每次查询返回的数据条数。
  • StartRow: 开始行索引,用于分页查询。
  • FilterString: 过滤条件,用于筛选符合条件的数据。例如:FDocumentStatus <> 'C'表示只查询未关闭的单据。
  • FieldKeys: 查询字段集合,以逗号分隔多个字段。

这些参数可以根据实际需求进行调整,以确保获取到所需的数据。

数据请求与清洗

在完成接口配置后,我们可以发起数据请求,并对返回的数据进行清洗。以下是一个示例请求体:

{
  "FormId": "STK_InStock",
  "FieldKeys": ["FBillNo", 
                ""],

}

数据转换与写入

在获取并清洗数据后,需要将其转换为目标系统所需的格式,并写入目标系统。这一步通常包括数据类型转换、字段映射等操作。例如,将金蝶云星空中的日期格式转换为目标系统所需的标准日期格式。

实时监控与错误处理

在整个过程中,实时监控和错误处理是确保数据集成顺利进行的重要环节。轻易云平台提供了详细的日志记录和错误报告功能,可以帮助我们快速定位和解决问题。

通过以上步骤,我们可以高效地调用金蝶云星空接口ExecuteBillQuery,获取并加工所需的数据,为后续的数据处理和分析打下坚实基础。 用友BIP接口开发配置

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

在数据集成过程中,ETL(提取、转换、加载)是一个至关重要的环节。本文将重点探讨如何利用轻易云数据集成平台,将已经集成的源平台数据进行ETL转换,并最终通过金蝶云星空API接口写入目标平台。

API接口配置与元数据解析

在本案例中,我们使用的是金蝶云星空的Audit API接口,该接口用于审核业务对象表单。以下是该接口的元数据配置:

{
  "api": "Audit",
  "method": "POST",
  "idCheck": true,
  "request": [
    {"field": "FormId", "label": "业务对象表单Id", "type": "string", "describe": "必须填写金蝶的表单ID如:PUR_PurchaseOrder", "value": "STK_InStock"},
    {"field": "Numbers", "label": "编码集合", "type": "string", "value": "{BillNo}"},
    {"field": "Ids", "label": "id集合", "type": "string"},
    {"field": "InterationFlags", "label": "交互标志集合", "type": "string", "describe":"字符串类型,分号分隔,格式:\"flag1;flag2;...\"(非必录) 例如(允许负库存标识:STK_InvCheckResult)","value":"STK_InvCheckResult"},
    {"field": "IgnoreInterationFlag", "label":"是否允许忽略交互","type":"string","describe":"布尔类型,默认true(非必录)","value":"true"},
    {"field":"NetworkCtrl","label":"是否启用网控","type":"string","describe":"布尔类型,默认false(非必录)","value":"false"},
    {"field":"IsVerifyProcInst","label":"检验单据关联运行","type":"string","describe":"是否检验单据关联运行中的工作流实例,布尔类型,默认false(非必录)","value":"false"}
  ]
}

数据转换与映射

在ETL过程中,我们需要将源平台的数据字段映射到目标平台API所需的字段格式。以下是具体步骤:

  1. 提取源数据:从源平台提取原始数据,例如采购订单信息。

  2. 字段映射

    • FormId:固定值为STK_InStock,表示库存入库单。
    • Numbers:对应源数据中的订单编号字段BillNo
    • Ids:可以为空或根据需求填充。
    • InterationFlags:固定值为STK_InvCheckResult,表示允许负库存标识。
    • IgnoreInterationFlag:固定值为true
    • NetworkCtrl:固定值为false
    • IsVerifyProcInst:固定值为false
  3. 转换逻辑

    • 将源数据中的订单编号字段提取出来并赋值给目标API请求中的Numbers字段。
    • 根据业务需求决定是否需要填充其他可选字段,如Ids, InterationFlags, 等。

数据写入目标平台

完成数据转换后,通过HTTP POST请求将处理后的数据写入金蝶云星空。以下是示例代码:

import requests
import json

# 定义API URL
api_url = 'https://api.kingdee.com/Audit'

# 构建请求头
headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_access_token'
}

# 构建请求体
payload = {
    'FormId': 'STK_InStock',
    'Numbers': ['PO123456'],
    'Ids': '',
    'InterationFlags': 'STK_InvCheckResult',
    'IgnoreInterationFlag': True,
    'NetworkCtrl': False,
    'IsVerifyProcInst': False
}

# 发起POST请求
response = requests.post(api_url, headers=headers, data=json.dumps(payload))

# 检查响应状态
if response.status_code == 200:
    print('Data successfully written to Kingdee Cloud.')
else:
    print(f'Failed to write data: {response.text}')

实时监控与错误处理

为了确保数据写入过程的可靠性和稳定性,需要对每个环节进行实时监控,并设置适当的错误处理机制。例如:

  • 日志记录:记录每次API调用的请求和响应,以便后续分析和排查问题。
  • 重试机制:对于失败的请求,可以设置重试策略,例如间隔一段时间后重试三次。
  • 告警通知:当出现连续多次失败时,通过邮件或短信通知相关人员进行人工干预。

通过上述步骤,我们可以高效地将源平台的数据转换并写入到金蝶云星空,实现不同系统间的数据无缝对接。 金蝶与MES系统接口开发配置

更多系统对接方案