Azure逻辑应用程序:为什么FTP连接器会延迟通过FTP连接器识别文件?

时间:2019-12-13 10:39:47

标签: azure ftp azure-logic-apps

我一直在使用AzureLogicApp中的FTP连接器将FTP服务器中的文件从源文件夹解压缩到目标文件夹。

我已将FTP连接器配置为只要在源文件夹中添加文件就触发。

我面临的问题是在此处触发连接器的延迟。

将zipfile添加到源文件夹后,Azure FTP连接器大约需要1分钟才能通过FTP识别并选择文件。

要确定问题是否出在Azure FTP连接器或FTP服务器上,我尝试使用BLOB存储而不是FTP服务器,并且连接器在一秒钟内被触发。!!

我的理解是,延迟发生在FTP端,或者FTP连接器与FTP服务器通信的方式。

任何人都可以在这里说出优化领域吗?我可以做些什么更改以最大程度地减少这种延迟。

2 个答案:

答案 0 :(得分:1)

我还注意到了FTP触发器的这种行为,并在此处找到了FTP触发器doco延迟的原因:

https://docs.microsoft.com/en-us/azure/connectors/connectors-create-api-ftp#how-ftp-triggers-work

...当触发器找到新文件时,触发器将检查新文件是否完整,而不是部分写入。例如,当触发器检查文件服务器时,文件可能正在进行更改。 为避免返回部分写入的文件,触发器将记录最近更改的文件的时间戳,但不会立即返回该文件。仅当再次轮询服务器时,触发器才返回文件。有时,此行为可能会导致延迟,该延迟最多是触发器的轮询间隔的两倍。

答案 1 :(得分:0)

首先,您需要知道,逻辑应用程序文件触发器与功能有一些区别,大多数情况下不会立即触发,当您设置触发器时,您会发现它需要间隔。甚至有一个文件,但是有一个间隔它现在不会触发。

然后是有关ftp触发的工作方式的信息,当它触发逻辑应用程序时,如果您查看触发历史记录,您会发现它具有多个成功记录,但是只有一个触发历史记录并且有2分钟的延迟。您可以检查连接器参考的原因:How FTP triggers work。对此有描述。

  

仅当再次轮询服务器时,触发器才返回文件。有时,此行为可能会导致延迟,该延迟最多是触发器的轮询间隔的两倍。

enter image description here

enter image description here