运行 从 Apache Nifi 到 MarkLogic Data Hub 5 Flow

Run a MarkLogic Data Hub 5 Flow from Apache Nifi

我成功地使用 Nifi 中的 PutMarkLogic 处理器将 JSON 文档插入 MarkLogic。这将创建纯 JSON 文档。 如何在摄取期间添加数据中心信封? 如何在摄取期间启动数据中心 5 流?

根据 https://marklogic.github.io/nifi/run-data-hub-input-flow 处的 MarkLogic Nifi 文档,这可以在 PutMarkLogic 处理器中使用 属性 "Server transform" = "ml:sjsInputFlow" 和自定义属性 trans:flow-名字和trans:entity-名字。 但这会导致 MarkLogic 出现 "Invalid coercion" 错误:

2020-03-10 17:09:44.967 Notice: XDMP-AS: $src as node() -- Invalid coercion: null as node()
2020-03-10 17:09:44.967 Notice:+in /data-hub/4/impl/flow-lib.sjs, at 56:16, in getFlow() [javascript]
2020-03-10 17:09:44.967 Notice:+in /marklogic.rest.transform/mlSjsInputFlow/assets/transform.sjs, at 25:21, in transform() [javascript]
...

在堆栈跟踪中提到了数据中心 4。那么也许 MarkLogic Nifi 文档已经过时了?

这是 DHF 4 流程。使用 "mlRunIngest" 作为转换名称,使用 "trans:flow-name" 指定流程名称,使用 "trans:step" 指定步骤编号。