2016-05-10 27 views
0

我正在尝试查找允许spring-integration-aws在本地创建远程文件夹结构以便能够同步的配置。春季集成Aws:本地创建远程文件夹

例: 给定一个很长的S3存储地址:

test.s3.bucket/folder1/floder2/folder3/etc/etc/etc/etc 

目前得到的错误信息:

Caused by: java.io.FileNotFoundException: test.s3.bucket/folder1/floder2/folder3/etc/etc/etc/etc/DD2419D7-104E-46FC-A513-9E587E58A949.ZIP.a.writing (No such file or directory) 

它看起来就像是由未在本地具有完整的文件夹结构造成的,是否可以设置S3InboundFileSynchronizingMessageSource来创建?

当前配置:类似这样的

public S3InboundFileSynchronizingMessageSource s3InboundFileSynchronizingMessageSource() { 
    S3InboundFileSynchronizingMessageSource messageSource = 
      new S3InboundFileSynchronizingMessageSource(file); 
    messageSource.setAutoCreateLocalDirectory(true); 
    messageSource.setLocalDirectory(new File("onComputer")); 
    messageSource.setLocalFilter(new AcceptOnceFileListFilter<>()); 
    return messageSource; 

回答

1

问问题时,你需要表现出更多的配置,包括同步以及对异常的完整堆栈跟踪。

但是,目前没有机制来重建远程文件树 - 这是远程目录叶节点和localDirectory之间的简单平面文件同步。

autoCreateLocalDirectory为真时,它在初始化期间完成一次。

+0

感谢您的提示。因此,如果我通过x深度的压缩(例如)的完整鹌鹑名称,我无法使用此库,因为我不会提前知道完整的合格路径吗?我真的希望能够使用它。 – user101010101

+0

这也意味着如果你有一个s3桶中的许多文件,它会尝试和同步一切,我不能说我想要x文件? – user101010101

+0

虽然它目前不提供像[FTP/SFTP]这样的[出站网关](http://docs.spring.io/spring-integration/reference/html/ftp.html#ftp-outbound-gateway),该模块建立在相同的抽象 - 所以你可以使用'S3RemoteFileTemplate'列出,获取文件等。另见[this commit](https://github.com/spring-projects/spring-integration-aws/commit/a0893cb88edb17a376f1ef874d80de98336129ad)需要一些文档,但可用于下载和复制远程目录结构。 [Doc JIRA here](https://jira.spring.io/browse/INTEXT-221)。 –