Azure Logic App对于每个循环每次发送多封电子邮件。如何只发送一封电子邮件?

时间:2020-04-28 05:51:25

标签: azure azure-logic-apps

Logic应用程序1-我有一个Azure Logic应用程序For Each循环,该循环遍历各种语言,并在OneDrive的文件夹中输出每种语言的Caption.vtt文件。 例如,如果用户选择:英语,西班牙语,法语。 For Each循环将重复3次,并在“ Transcript VTT文件” OneDrive文件夹上输出三个vtt文件。

Logic App 2-在OneDrive文件夹中输出语言后,我创建了一个操作来检查该OneDrive文件夹中是否有新文件。如果有任何新文件,我想通过电子邮件将那些(vtt文件)作为附件发送给我的用户。

我遇到的问题是,Logic应用程序正在针对每种语言向用户发送三封单独的电子邮件。 我希望Logic应用程序仅向用户发送一封电子邮件,其中包含三个文件作为附件 。我认为问题在于我的“创建文件”操作位于For Each循环中,这就是为什么它发送3封单独的电子邮件。但是我不确定如何修改它,以便它只发送一封带有三个VTT文件附件的电子邮件。

如何修改Logic应用程序,使其仅向用户发送一封电子邮件,并将所有VTT文件作为附件?

这是我的Logic APPS的工作流程:

1st-逻辑应用 enter image description here enter image description here enter image description here

逻辑APP 2:

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以在主逻辑应用程序本身中进行操作。这是要遵循的步骤 1)在逻辑应用程序启动时,初始化一个数组变量。 2)在每个循环的内部,当文件上传到一个驱动器时,您可以将文件名添加到阵列中。 3)上传完所有文件,然后退出for循环后,发送电子邮件

PS:您必须考虑发生故障时逻辑的要求。如果在为两个文件建立索引并上传它们后,流程失败,那么您要做什么。

您拥有第二个逻辑应用程序的逻辑将始终触发一封单独的电子邮件。