繁体   English   中英

Mule SFTP组件

[英]Mule SFTP component

嗨,我在下面有关于SFTP组件的查询,如果你们可以帮助我,那将是一个很大的帮助:

1)我们可以获取由SFTP组件拾取的文件的文件大小吗? 我需要根据文件大小限制传输。 2)我可以获取SFTP组件获取的文件数量和文件名吗? 3)理解是否正确:SFTP组件从服务器中提取所有文件并保留在内存中,然后以1到1的顺序进行处理,直到完成所有文件? 4)如果服务器有5个文件,SFTP组件可以并行处理所有5个文件,而不是1个1个吗?

1-Mule不会像使用FILE那样填充SFTP的文件大小字段。 有关于此事的Jira票证正在开放,但是MuleSoft称它为增强功能,并且没有给予优先权。 我不同意。 也许ping MuleSoft,如果有足够多的用户这样做,他们可能会提高优先级并解决它。 他们在内部使用该大小,只是不像使用FILE连接器那样将其暴露在外部。

2-不是,不是真的。 它一次给他们一个,而不是列表。

3&4:如果您告诉整个文件不要流传输或执行其他操作,则仅将整个文件加载到内存中,例如强制内存加载的onject-to-string转换器。 文件或文件流被1传回1,但是除非您限制线程并使流同步,否则它将进入异步和多线程并并行处理多个文件。 流默认为异步,子流是同步的。

您可以使用SFTP端点来检索文件,然后使用Java或脚本调用来获取文件的属性,并进行过滤以仅处理您实际感兴趣的文件,例如大于最小大小的文件。 这似乎更符合您在第1点中寻找的内容。还有其他选择,但这将是我可以很快想到的其他选择的更直接的选择。

我发现了一种获取文件大小的方法,如果我们在其中提供了transformer-refs =“ Object_to_Byte_Array”,然后执行#[payload.size()]来获取文件大小(以字节为单位)? 这会引起任何问题吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM