marklogic-9 - 如何从另一个数据库中使用 MarkLogic DataHub importFlow
问题描述
我有一个用例需要查询一个数据库中的一些数据,然后将此数据用作 MarkLogic DataHub 管道的新输入。
我创建了一个有效的导入和协调流程。
现在我想从另一个数据库运行导入流程,将数据插入到 dhf 中的暂存数据库中。
'use strict';
let id= "/ClueyTest/track/cluey/a2c5c32c-6e99-47c9-8b4d-5b97897509f7.json";
let options = {"dhf.projectName":"ClueyTest", "entity":"Track", "flow":"ImportClueyTracks", "flowType":"input", "dataFormat":"json"};
let rawContent = {
"trackId": "a2c5c32c-6e99-47c9-8b4d-5b97897509f7",
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[5.4701967, 51.8190698],
[5.470028, 51.8193624],
[5.470038, 51.8193624],
[5.470048, 51.8193624],
[5.470028, 51.8193634]]
}
,
"properties": {
"timestamps": [
"2019-02-14T16:52:06+0100",
"2019-02-14T16:51:07+0100",
"2019-02-14T16:43:24+0100",
"2019-02-14T16:43:24+0100",
"2019-02-14T16:43:24+0100"
]
}
,
"tracktype": "on",
"endTimestamp": "2019-02-14T16:51:07+0100",
"startTimestamp": "2019-02-14T14:46:50+0100"
}
const clt = require('/entities/clueyTrack/input/ImportClueyTracks/main.sjs');
// the main in the import flow
clt.main(id,rawContent,options);
显然,您需要在 datahub 内有一个工作导入流来运行此代码,但问题是关于一般用例如何运行导入流,而不是从 gradle 而是从 marklogic 数据库内部。
所有 dhf 代码都是 sjs。
解决方案
我认为使用服务器端库是最优雅的,但我认为它确实需要 DataHub v4+:
https://marklogic.github.io/marklogic-data-hub/refs/server-side-library/
!
推荐阅读
- python - 从 Flutter 上传图片
- python - AWS Chime 创建会议 Chime 链接
- javascript - Jquery 动态选择器
- terraform - cdkt 创建多个堆栈
- flutter - 根据布尔值显示或隐藏文本小部件
- google-cloud-platform - 从对话流发送和接收文本数据
- .net - HttpWebRequest 失败:底层连接已关闭:无法为 SSL\/TLS 安全通道建立信任关系
- json - 使用 spark/scala 将 JSON 文件加入数据框
- c# - EFCore - 从 DbSet 中的集合列表中获取特定属性
- mfc - 如何获取浮动工具栏的大小