2016-06-08 54 views
0

我每天都有一个计划的Marklogic任务,在这里我访问一个S3存储桶,在目录中处理一个文件(test.xml),然后添加一个标志文件(test.done)到相同的目录以通知该文件已被处理。我需要根据标志文件的可用性定期删除文件(包括test.xml和test.done)。有没有在亚马逊的选项创建一个作业,定期删除这些文件?根据标志文件的可用性删除s3存储桶中的文件aws中的作业

是否有使用xdmp的选项:http-delete()?如果是的话,有人可以共享一个样本请求与标题来做到这一点?

回答

2

在MarkLogic中,没有支持的方式来删除文件或目录。但是,您可以通过向它们写入空白文本节点来清除内容。

我说没有'支持'的方式。但是,MarkLogic中存在两个函数:xdmp:filesystem-directory-delete和xdmp:filesystem-file-delete。他们没有证件,这也表明他们没有支持,并且可能会改变或取消,我相信。所以我会告诫这些用于生产的。

要通过HTTP删除文件,检查出的API为通过AWS删除:http://docs.aws.amazon.com/AmazonS3/latest/dev/DeletingObjects.html

另一种选择是S3安装到运行MarkLogic机器的本地文件系统和使用该系统来删除文件。在这种情况下,您也可以让MarkLogic将test.done标志以队列的形式写入本地文件系统的目录,并从OS处理它们。

+0

谢谢大卫。我会尝试这个选项 – Selva

相关问题