[添加或修改触发器时过滤Logic Apps SFTP中的最新文件

问题描述 投票:0回答:1

我有连接到SFTP服务器的Logic App,并且由“添加或修改文件”触发器触发。它设置为每10分钟运行一次,查找新文件/修改过的文件并将其复制到Azure存储帐户。

问题是,此SFTP服务器路径设置为每X分钟覆盖一组文件(对此我无法控制),因此,Logic App通常与这些文件的更新过程重叠,并下载仍在写。结果是文件损坏。

是否有方法向When files are added or modified (properties only)添加过滤器,以便仅考虑修改日期至少为1分钟的文件?

这样,当前正在写入的文件将不会添加到要下载的文件列表中。然后,逻辑应用程序的下一次运行将获取此忽略的文件,依此类推。

UPDATE

我在触发器的设置中找到了一个触发器条件,但是找不到有关它的任何文档。enter image description here

azure sftp azure-logic-apps last-modified
1个回答
0
投票

根据测试触发器“添加或修改文件”,似乎我们无法在触发器中添加过滤器以过滤至少1分钟前修改的记录。我们只需要获取List of Files LastModified日期时间并对其进行循环,使用“ If”条件来判断是否应下载它。

enter image description here

更新:

enter image description here

屏幕快照中的表达式是:

sub(ticks(utcNow()), ticks(triggerBody()?['LastModified']))

更新解决方法

当上次修改时间少于1分钟时,是否可以添加“延迟”操作?例如,如果上次修改时间少于60秒,请使用“延迟”等待5分钟,直到覆盖操作完成,然后进行下载。enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.