简道云与金蝶云星空数据集成方案
简道云数据集成到金蝶云星空的技术案例分享
在企业信息化建设中,数据的高效流转和准确对接是关键环节。本文将聚焦于一个实际运行的系统对接集成案例:简道云-其他出库单--->金蝶-其他出库单,探讨如何通过轻易云数据集成平台实现这一目标。
首先,我们需要解决的是如何确保从简道云获取的数据不漏单,并能快速写入到金蝶云星空。这一过程中,简道云提供了强大的API接口 /api/v2/app/{app_id}/entry/{entry_id}/data
,支持高吞吐量的数据写入能力,使得大量数据能够快速被集成到系统中。同时,通过定时可靠地抓取简道云接口数据,可以保证数据的实时性和完整性。
为了实现这一点,我们利用轻易云平台提供的可视化数据流设计工具,对整个数据处理过程进行直观管理。通过自定义的数据转换逻辑,我们可以适应特定业务需求和数据结构,从而解决简道云与金蝶云星空之间的数据格式差异问题。此外,轻易云平台还支持集中监控和告警系统,实时跟踪每个数据集成任务的状态和性能,这对于及时发现并处理异常情况至关重要。
在具体操作中,我们调用简道云API获取其他出库单的数据,并通过批量处理方式,将这些数据快速写入到金蝶云星空。金蝶云星空提供了 batchSave
API,用于高效地接收大批量的数据输入。在这个过程中,需要特别注意分页和限流问题,以确保接口调用的稳定性和效率。
最后,为了进一步提升系统可靠性,我们还实现了错误重试机制。当出现对接异常时,系统会自动记录日志并进行重试操作,确保最终所有有效数据都能成功传输到目标平台。此外,通过实时监控与日志记录功能,可以全面掌握整个集成过程中的每一个细节,为后续优化提供有力支持。
以上就是本次技术案例分享的开篇部分,在后续章节中我们将详细探讨具体的实施步骤及技术细节。
调用简道云接口获取并加工数据
在轻易云数据集成平台的生命周期中,第一步是调用源系统简道云接口/api/v2/app/{app_id}/entry/{entry_id}/data
获取并加工数据。这一步骤至关重要,因为它决定了后续数据处理和集成的质量与效率。
接口调用配置
为了成功调用简道云接口,我们需要配置元数据。以下是关键的配置项:
- 应用ID(appId):用于标识具体的应用。
- 表单ID(entryId):用于指定要查询的数据表单。
- 查询字段(fields):可以指定需要查询的字段,多个字段以逗号隔开。如果不传入,则默认输出所有字段。
- 每页返回数量(limit):设置每次请求返回的数据条数,范围为1到100,默认值为10。
- 过滤参数(filter):包括逻辑关系和具体条件,用于筛选符合条件的数据。
例如:
{
"appId": "642307c010703500087839ac",
"entryId": "64a7b2586ac08a0007acafaa",
"fields": "_widget_1689140117269,_id",
"limit": "100",
"filter": {
"rel": "and",
"cond_1": {
"field": "updateTime",
"method": "range",
"value": "{{LAST_SYNC_TIME|datetime}}"
},
...
}
}
数据请求与清洗
在实际操作中,通过POST方法发送上述配置到简道云API端点,可以获取所需的数据。接收到的数据通常是JSON格式,需要进行清洗和预处理,以确保其符合后续处理要求。
- 分页处理:由于API每次请求返回的数据量有限,需要通过分页机制逐页获取全部数据。可以利用
limit
参数控制每页大小,并结合偏移量或游标实现分页。 - 限流管理:为了避免触发API限流策略,应合理设置请求频率,并在必要时实现重试机制。
- 数据清洗:对获取到的数据进行初步清洗,包括去除空值、标准化日期格式等操作。例如,将时间戳转换为标准日期格式,以便后续处理。
自定义转换逻辑
根据业务需求,可以自定义数据转换逻辑。例如,将简道云中的某些字段映射到金蝶云星空中的对应字段。这一步骤可以通过编写脚本或使用轻易云提供的可视化工具来完成。
{
"_widget_1689140117269": {
// 转换逻辑
},
"_id": {
// 转换逻辑
}
}
实时监控与日志记录
轻易云平台提供了实时监控和日志记录功能,帮助开发者跟踪数据集成任务的状态和性能。在调用简道云接口过程中,可以实时查看请求次数、响应时间以及可能出现的错误,从而及时调整策略,提高效率。
通过以上步骤,我们能够高效地从简道云获取并加工所需数据,为后续的数据转换与写入奠定坚实基础。
数据转换与写入:从简道云到金蝶云星空
在数据集成的生命周期中,ETL(Extract, Transform, Load)过程至关重要。本文将重点介绍如何将简道云的出库单数据经过转换,最终写入到金蝶云星空API接口中。
1. 数据请求与清洗
在进行ETL之前,首先需要从简道云获取原始数据。通过调用简道云的API接口/api/v2/app/{app_id}/entry/{entry_id}/data
,可以获取其他出库单的数据。为了确保数据的完整性和准确性,需要处理分页和限流问题,并且要定时可靠地抓取接口数据。
2. 数据转换
获取到原始数据后,接下来是关键的转换步骤。目标是将这些数据转换为金蝶云星空API能够接受的格式。以下是元数据配置中的部分字段及其转换逻辑:
-
单据编号(FBillNo):
{ "field": "FBillNo", "label": "单据编号", "type": "string", "value": "{_widget_1689140117269}" }
将简道云中的单据编号直接映射到金蝶云星空中。
-
单据类型(FBillTypeID):
{ "field": "FBillTypeID", "label": "单据类型", "type": "string", "parser": {"name": "ConvertObjectParser", "params": "FNumber"}, "value": "_function CASE '{_widget_1684312625901}' WHEN '赠送' THEN 'QTCKD13_SYS' WHEN '试戴出库' THEN 'QTCKD16_SYS' when '盘库' then 'QTCKD15_SYS' ELSE '' END" }
根据不同的业务类型,将简道云中的业务类型字段转换为金蝶系统中对应的编码。
-
库存组织(FStockOrgId):
{ "field": "FStockOrgId", "label": "库存组织", "type": "string", "parser": {"name": "ConvertObjectParser", "params": "FNumber"}, "value": "{_widget_1704939911499}" }
库存组织字段需要通过
ConvertObjectParser
进行转换,以确保符合金蝶系统的要求。 -
客户(FCustId):
{ "field": "FCustId", "label": "客户", "type": "string", ...
根据不同客户编码进行条件判断和映射。
3. 数据写入
完成数据转换后,即可通过调用金蝶云星空API接口实现数据写入。以下是部分关键配置:
-
业务对象表单ID(FormId):
{ ... {"field":"FormId","label":"业务对象表单Id","type":"string","describe":"必须填写金蝶的表单ID如:PUR_PurchaseOrder","value":"STK_MisDelivery"} }
此处指定了目标表单ID为
STK_MisDelivery
,即其他出库单。 -
批量保存操作(Operation):
{ ... {"field":"Operation","label":"执行的操作","type":"string","describe":"执行的操作","value":"Save"} }
设置操作类型为“Save”,表示保存操作。
此外,还可以配置是否自动提交并审核、验证基础资料有效性等参数,以确保数据写入过程顺利进行。
异常处理与监控
在实际操作过程中,可能会遇到各种异常情况,如网络问题、接口限流等。因此,需要实现错误重试机制和异常处理逻辑。同时,通过集成平台提供的集中监控和告警系统,可以实时跟踪数据集成任务的状态和性能,并及时发现和处理问题。
总结
通过以上步骤,我们实现了从简道云到金蝶云星空的数据ETL过程。在这个过程中,关键在于准确地进行数据映射和转换,并通过可靠的API调用实现高效的数据写入。同时,通过完善的异常处理和监控机制,确保整个集成过程稳定可靠。