如何从另一个数据库内部使用MarkLogic DataHub importFlow

时间:2019-02-14 19:00:20

标签: marklogic-9 marklogic-dhf

我有一个用例,需要查询一个数据库中的某些数据,然后将该数据用作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内部运行一个有效的importflow来运行此代码,但是问题是有关如何从不是从gradle而是从marklogic数据库内部运行导入流的一般用例。

所有dhf代码都是sjs。

1 个答案:

答案 0 :(得分:0)

我认为使用服务器端库将是最优雅的选择,但我认为确实需要DataHub v4 +:

https://marklogic.github.io/marklogic-data-hub/refs/server-side-library/

HTH!