找不到数据中心协调模式

时间:2019-01-11 16:13:22

标签: json marklogic marklogic-dhf

使用MarkLogic DHF,我试图从协调流程中调用json验证功能。除了验证功能找不到架构之外,其余所有流程都可以正常工作。最终协调文件的* -FINAL DB具有关联的* -SCHEMAS数据库,而我的模式文件存储在该* -SCHEMAS数据库中的简单URI下。如何确定DHF协调流在哪里寻找模式?

更新:经过反复试验,我确定将json模式加载到服务器的基础“ Schemas”数据库中之后,协调流能够为jsonValidate()函数找到它。但是我不明白为什么它不能在最终的模式数据库中找到它,而在最终的模式数据库中,该模式是由构建加载的。

更新2.0:使用下面的@grtjn的建议,我确定用于协调流的当前数据库不是最终数据库,而是登台数据库。因此,当我在具有适当权限的临时模式db中手动加载模式时,流程会找到它。因此,现在我只需要弄清楚如何进行gradle部署,以将架构放入暂存架构db中而不是最终架构db中。

1 个答案:

答案 0 :(得分:0)

在DHF 4.1.0或更高版本中,您应该能够仅将模式放置在ml-gradle声明的位置:https://github.com/marklogic-community/ml-gradle/wiki/Loading-schemas

在这种情况下,您可能希望将其放在登台模式数据库名称下的ml-config / databases目录中。

从逻辑上讲,您正在将数据写入最终DB,但该操作必须在读取暂存数据时进行。您可能希望与原始/登台数据分开的最终数据库定义的其他架构(例如,对最终实体或TDE的验证以将数据显示为行/列)。

如果您认为我们需要有关此问题的更好文档,或者有其他建议使它更易于使用,请在我们的github(https://github.com/marklogic/marklogic-data-hub/issues)上记录问题。