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()] 来获取文件大小(以字节为单位)?这会导致任何问题吗?
你好,我有以下关于 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()] 来获取文件大小(以字节为单位)?这会导致任何问题吗?