【发布时间】:2013-02-19 17:13:07
【问题描述】:
我需要将文件从 FTP 位置上传到 marklogic。请指导我
【问题讨论】:
标签: upload ftp filesystems marklogic
我需要将文件从 FTP 位置上传到 marklogic。请指导我
【问题讨论】:
标签: upload ftp filesystems marklogic
MarkLogic 不允许从XQuery 访问外部FTP 位置,就像它允许HTTP 调用一样。它也不提供FTP 服务器,就像它提供WebDAV 服务器一样。
但是,您可以轻松地在两者之间放置一个访问 FTP 的中介,并使用其他方式将文档上传到 MarkLogic。后者可以通过您可以使用管理界面创建的WebDAV 应用服务器、通过 MarkLogic 6 中的built-in REST api (http://docs.marklogic.com/REST) 或通过像 Corona (http://developer.marklogic.com/code/corona) 这样的自定义代码来完成。
如果您使用 Java 编写中介,您还可以使用 Java API(请参阅 http://docs.marklogic.com/ 的 Java API 选项卡)。
HTH!
【讨论】:
我们有一个应用程序需要共享文件夹中的文档,我们在该文件夹上运行 etl 才能进入 marklogic。您可以通过多种方式做到这一点。如果您可以的话,我会在 marklogic 框中添加驱动器,然后从那里读取。如果这不起作用,请查看您是否可以从请求的 http-get 中查看这些文件。如果这不起作用,那么您可能想要创建一个 Web 服务。
【讨论】:
除非您绝对需要,否则我个人会避免使用WebDav。
这是一次性的、批量的还是连续的工作?
如果是一次性或批量,那么我建议使用脚本将文件 FTP 到本地磁盘,然后使用 mlcp 或 RecordLoader 或 xmlsh 将它们推送到 MarkLogic。
如果这是一项持续的工作,那么定制 Java 应用程序可能是可行的方法。
请意识到FTP 是一个非常敏感 协议.. 它可能会以多种方式失败并需要特殊的端口开放等。它是在防火墙、NAT 等之前的 80 年代设计的。
让 FTP 可靠地工作而不考虑 MarkLogic 本身就是一门黑魔法。
如果可以使用其他协议,那么FTP 将是理想的。
说scp 或rsync 或http。
【讨论】: