轻易云平台ETL过程详解:从数据提取到写入金蝶云星空

  • 轻易云集成顾问-蔡威
### 聚水潭数据集成到金蝶云星空的技术案例分享 在本篇技术案例中,我们探讨了如何高效地将聚水潭系统的数据无缝集成到金蝶云星空平台上,特别是处理涉及其他入库单的复杂数据流转。为了实现这一目标,我们使用了轻易云数据集成平台来简化和加速整个对接过程。 #### 确保数据不漏单 首先,我们要确保所有从聚水潭获取的数据都能准确而完整地传输到金蝶云星空。这一步至关重要,因为任何一个环节的数据丢失都会导致后续业务流程的瓶颈。在这个项目中,通过定时可靠抓取聚水潭接口数据(/open/other/inout/query),并实现分页限流机制,有效避免了因接口调用频率过高或返回结果过长导致的数据遗漏。 #### 大量数据快速写入 由于业务需要处理大量的入库单信息,因此我们必须采用一种能够高效批量处理并写入数据的方法。在这个案例中,通过调用金蝶云星空提供的batchSave API接口,实现了快速且稳定的大批量数据写入。此外,为确保各项操作安全执行,设置了异常处理与错误重试机制,极大提高了整体可靠性。 #### 实时监控与日志记录 结合轻易云强大的实时监控功能,我们可以全程跟踪每一条从聚水潭传输至金蝶云星空的数据,包括其状态和可能发生的问题。详细且全面的日志记录不仅保障了问题可追溯,还为之后优化对接方案提供有力支持。 通过以上步骤及策略,我们成功完成了一次高质量、高效率、无差错的系统间对接。下一步将深入解析具体实施细节,包括API参数配置、定制化映射方案以及特殊情况下的问题解决方法等。 ![如何开发钉钉API接口](https://pic.qeasy.cloud/D37.png~tplv-syqr462i7n-qeasy.image) ### 调用聚水潭接口/open/other/inout/query获取并加工数据 在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用聚水潭接口`/open/other/inout/query`,并对获取的数据进行加工处理。 #### 接口调用配置 首先,我们需要了解聚水潭接口的基本配置参数。根据提供的元数据配置,接口调用采用POST方法,并且需要传递多个请求参数。这些参数包括: - `modified_begin` 和 `modified_end`: 用于指定数据的时间范围,分别表示开始修改时间和结束修改时间。 - `status`: 单据状态,默认值为"Confirmed",表示只获取已生效的单据。 - `page_index` 和 `page_size`: 分页参数,用于控制每次请求返回的数据量。 - `types`: 单据类型,此处固定为"其它进仓"。 以下是一个典型的请求体示例: ```json { "modified_begin": "{{LAST_SYNC_TIME|datetime}}", "modified_end": "{{CURRENT_TIME|datetime}}", "status": "Confirmed", "page_index": "1", "page_size": "{PAGINATION_PAGE_SIZE}", "types": ["其它进仓"] } ``` #### 数据请求与清洗 在实际操作中,我们首先需要通过上述配置向聚水潭系统发起请求。轻易云平台支持全异步操作,因此可以有效地处理大量数据请求。在接收到响应后,需要对数据进行初步清洗和过滤。 例如,我们可以根据条件过滤掉不符合要求的数据。元数据配置中提到的条件如下: ```json [ { "field": "so_id", "logic": "notlike", "value": "FBDR" } ] ``` 这意味着我们需要排除掉所有`so_id`字段包含"FBDR"的记录。 #### 数据转换与写入 在完成初步清洗后,下一步是将数据转换为目标系统所需的格式,并写入目标系统。在本案例中,我们将数据写入金蝶其他入库单。 为了实现这一点,需要对接收到的数据进行字段映射和格式转换。例如,如果聚水潭返回的数据结构如下: ```json { "io_id": "12345", "warehouse_code": "WH001", "item_code": "ITEM001", ... } ``` 我们可能需要将其转换为金蝶系统所需的格式,例如: ```json { "entryId": "12345", "warehouseId": "WH001", "productId": "ITEM001", ... } ``` 这种字段映射和转换可以通过轻易云平台提供的内置函数和自定义脚本来实现。 #### 自动填充响应 轻易云平台支持自动填充响应功能,这意味着在成功写入目标系统后,可以自动更新源系统中的相关状态或标记。例如,可以在成功处理后,将单据状态更新为"Archive",以避免重复处理。 #### 实时监控与错误处理 最后,在整个过程中,实时监控和错误处理也是不可忽视的重要环节。轻易云平台提供了详细的日志记录和监控功能,可以帮助我们及时发现并解决问题。例如,如果某个请求失败,可以通过日志快速定位问题,并采取相应措施进行修复。 综上所述,通过合理配置和使用轻易云数据集成平台,可以高效地实现聚水潭接口的数据获取、清洗、转换和写入操作,从而确保不同系统间的数据无缝对接,提高业务透明度和效率。 ![数据集成平台可视化配置API接口](https://pic.qeasy.cloud/S10.png~tplv-syqr462i7n-qeasy.image) ### 使用轻易云数据集成平台将源平台数据转换并写入金蝶云星空API接口 在数据集成的生命周期中,ETL(提取、转换、加载)是关键的一步。本文将深入探讨如何利用轻易云数据集成平台,将已经集成的源平台数据进行ETL转换,并转为金蝶云星空API接口所能够接收的格式,最终写入目标平台。 #### 配置元数据 首先,我们需要配置元数据,以便将源平台的数据映射到金蝶云星空API所需的格式。以下是配置元数据的详细说明: ```json { "api": "batchSave", "effect": "EXECUTE", "method": "POST", "idCheck": true, "request": [ { "field": "FBillNo", "label": "单据编号", "type": "string", "describe": "单据编号", "value": "{io_id}" }, { "field": "FBillTypeID", "label": "单据类型", "type": "string", "describe": "标准其他出库单:QTCKD01_SYS\n资产出库:QTCKD02_SYS\nVMI出库:QTCKD03_SYS\n费用物料出库:QTCKD04_SYS\n库存调整:QTCKD05_SYS", "parser": { "name": "ConvertObjectParser", "params": "FNumber" }, "value": "QTRKD01_SYS" }, { ... } ], ... } ``` #### 数据请求与清洗 在ETL过程的第一步,我们需要从源平台请求数据并进行清洗。假设我们从聚水潭系统获取了其他入库的数据,这些数据需要经过一系列的清洗和转换操作,以符合金蝶云星空API的要求。 #### 数据转换与写入 接下来,我们将重点讨论如何利用配置好的元数据,将清洗后的数据转换为金蝶云星空API所需的格式,并通过API接口写入目标平台。 1. **单据编号(FBillNo)**: - 配置字段`FBillNo`,其值来源于`{io_id}`,即源平台中的单据编号。 - 示例配置: ```json { "field": "FBillNo", "label": "单据编号", ... "value": "{io_id}" } ``` 2. **单据类型(FBillTypeID)**: - 配置字段`FBillTypeID`,使用`ConvertObjectParser`解析器,将固定值`QTRKD01_SYS`转换为对应的金蝶编码。 - 示例配置: ```json { ... "field": "FBillTypeID", ... "parser": { ... } }, ... } ``` 3. **库存组织(FStockOrgId)**: - 配置字段`FStockOrgId`,根据条件判断,如果`{lock_wh_id}`为空,则默认值为'115',否则使用`{lock_wh_id}`。 - 示例配置: ```json { ... value: "_function CASE '{lock_wh_id}' WHEN '' THEN '115' ELSE '{lock_wh_id}' END" } ``` 4. **日期(FDate)**: - 配置字段`FDate`,其值来源于源平台中的日期字段,即`{io_date}`。 - 示例配置: ```json { ... value: "{io_date}" } ``` 5. **明细信息(FEntity)**: - 配置数组字段`FEntity`,包含多个子字段,如物料编码(FMATERIALID)、实发数量(FQty)、发货仓库(FStockId)等。 - 示例配置: ```json { ... children: [ { field: 'FMATERIALID', value: '{{items.sku_id}}' }, { field: 'FQty', value: '{{items.qty}}' }, ... ] } ``` #### API调用与执行 完成上述配置后,通过调用金蝶云星空API接口,将转换后的数据写入目标平台。调用方法为POST请求,并且设置了自动提交和审核功能。 ```json { ... method: 'POST', otherRequest: [ { field: 'FormId', value: 'STK_MISCELLANEOUS' }, { field: 'IsAutoSubmitAndAudit', value: true }, ... ] } ``` 通过上述步骤,我们成功地将源平台的数据进行了清洗和转换,并通过轻易云数据集成平台将其无缝对接至金蝶云星空,实现了高效的数据集成和处理。 ![用友与WMS系统接口开发配置](https://pic.qeasy.cloud/T13.png~tplv-syqr462i7n-qeasy.image)