Azure逻辑应用程序FTP文件内容

Azure逻辑应用程序FTP文件内容,azure,ftp,azure-logic-apps,Azure,Ftp,Azure Logic Apps,我正在使用Azure逻辑应用程序将文件从FTP复制到Blob存储。我正在使用FTP操作-当添加或修改文件时,然后将文件内容复制到Blob存储中 问题是,文件在完全添加到FTP之前被复制到Blob存储,我得到了部分文件 是否有任何方法可以保存Azure Logic应用程序,使其仅在文件完成后复制该文件?当您的FTP文件系统不提供文件锁定时,会发生此行为。在BizTalk中使用FTP适配器时可能会发生类似的行为 在BizTalk中,处理此问题的最佳方法是修改在FTP上创建文件的客户端,使其使用临时文

我正在使用Azure逻辑应用程序将文件从FTP复制到Blob存储。我正在使用FTP操作-当添加或修改文件时,然后将文件内容复制到Blob存储中

问题是,文件在完全添加到FTP之前被复制到Blob存储,我得到了部分文件


是否有任何方法可以保存Azure Logic应用程序,使其仅在文件完成后复制该文件?

当您的FTP文件系统不提供文件锁定时,会发生此行为。在BizTalk中使用FTP适配器时可能会发生类似的行为

在BizTalk中,处理此问题的最佳方法是修改在FTP上创建文件的客户端,使其使用临时文件名

客户端创建文件ftpFile.tmp 客户端写入文件内容 客户端将ftpFile.tmp重命名为ftpFile.xml或任何需要的扩展名 BizTalk仅拾取扩展名为.xml的文件 对于我来说,Logic Apps FTP连接器的主要问题是,当使用连接器作为触发器时,无法在设计器中指定文件掩码,这很奇怪,因为我记得第一个版本的Logic Apps中提供了该选项

您需要启用包含文件内容选项

您可以通过两种方式来实现这一点。 1. 转到LogicAppDesigner->扩展FTP触发器->设置是以包含文件内容

像这样

转到逻辑应用程序代码视图->查找触发器JSON->在查询中添加includeFileContent:true
工作流程有点模糊。你能重新定义它吗?你有一个远程ftp,一个轮询远程ftp的触发器。您是否在逻辑应用程序中获取该文件并将其写入blob存储。但问题是,触发器是在文件完全保存到远程ftp站点之前触发的?因此,是尝试提取部分文件吗?是的,完全正确!在我的存储中我看到一个部分文件。谢谢。因为在我的例子中,我的客户每天早上5点上传一个文件到他们的FTP,而不是让Logic Apps触发器将消息放到我的WebJob使用的队列中,我将在早上6点触发WebJob。