我一直在使用AzureLogicApp中的FTP连接器将FTP服务器中的文件从源文件夹解压缩到目标文件夹。
我已将FTP连接器配置为只要在源文件夹中添加文件就触发。
我面临的问题是在此处触发连接器的延迟。
将zipfile添加到源文件夹后,Azure FTP连接器大约需要1分钟才能通过FTP识别并选择文件。
要确定问题是否出在Azure FTP连接器或FTP服务器上,我尝试使用BLOB存储而不是FTP服务器,并且连接器在一秒钟内被触发。!!
我的理解是,延迟发生在FTP端,或者FTP连接器与FTP服务器通信的方式。
任何人都可以在这里说出优化领域吗?我可以做些什么更改以最大程度地减少这种延迟。
答案 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。对此有描述。
仅当再次轮询服务器时,触发器才返回文件。有时,此行为可能会导致延迟,该延迟最多是触发器的轮询间隔的两倍。