设置触发器以观看新文件夹Azure Logic Apps

时间:2018-02-12 15:51:58

标签: azure azure-logic-apps

我正在尝试创建一个逻辑应用程序,它将从我的FTP服务器创建文件到我的Azure文件共享。我的触发器正在观看的文件夹的结构由日期构成(见下文)。每天添加一个文件,都会创建一个新文件夹,所以我需要触发器来检查新的子文件夹,但我不想每天进入应用程序来更改触发器查看的文件夹。这可能吗?

这是我的文件夹(调用数据)结构的方式,每天添加一个文件创建一个新文件夹。

-DATA-

2016-10-01
2016-10-02
2016-10-03
...

2 个答案:

答案 0 :(得分:1)

不幸的是,当前的FTP连接器无法满足您的要求。现在没有任何真正伟大的解决方案...... :(

顺便说一句,我已经多次看过这种模式了,正如你所看到的那样,它只会造成比它能解决的问题更多的问题,实际上是0:)

如果您拥有FTP服务器,最好的办法是将文件放在一个文件夹中。

如果您不拥有FTP服务器,请礼貌地向所有者提及此模式导致问题并且不以任何方式帮助您,请将文件放在一个文件夹中;)

答案 1 :(得分:1)

FTP连接器使用可配置的轮询,您可以在其中设置文件查找的次数。触发器当前不支持动态文件夹。但是您可以尝试以下内容:

  • 通过重复触发您的逻辑应用程序(实际上与FTP触发器相同的原理)
  • 操作:创建一个变量来存储日期时间(文件夹命名中使用的格式)
  • 操作:在文件夹中执行列表文件(此处您应该能够使用您创建的变量动态设置文件夹名称)
  • 对于文件夹中的每个文件
    • 操作:获取文件内容
    • 无论您需要对文件执行什么操作(如果需要按文件处理重新提交流程,如果您需要对每个场所执行多个处理操作,请调用嵌套逻辑应用程序)

为了避免每次都拾取每个文件,您需要找到一种方法来排除在早期运行中处理过的文件。因此,要么在文件处理后重命名为扩展名,您可以在下次运行中将其排除,或者将文件移动到子文件夹" Processed \ datetime"在根中。

此解决方案需要更多操作,因此会更昂贵。我还没有尝试过,但我认为这应该有效。或者至少它是我尝试设置的方法。