Azure Logic App可以有多个启动触发器吗?
我已在MSDN阅读了触发器文档但无法查看有多个触发器的内容
答案 0 :(得分:7)
通常是的,您可以在Logic App工作流程中拥有多个触发器。实际上,according to the official documentation,最多可以有10个 在单个逻辑应用程序中触发。例如,在以下逻辑应用程序中,我使用了两个触发器:第一个是SFTP连接器触发器,在一系列操作之后,我在Service Bus队列上有第二个触发器(使用发送消息操作,我发送一条消息一个执行长时间运行任务的webjob,它通过另一个允许它继续执行的队列上的消息通知Logic应用程序。)
也许你的意思是,如果有可能有多个"开始"触发器实现某种"或逻辑"触发器之间。在这种情况下,我认为答案是否定的,为了达到这个目的,我将与@Steven Van Eycken所建议的一样:在其中两个中分离逻辑应用程序,由您需要的两个触发器触发,例如然后发送一个队列上的消息,触发具有公共工作流的第三个逻辑应用程序。
答案 1 :(得分:1)
我想我参加派对有点晚了,但我已经能够为逻辑应用创建多个触发器。
在我的工作中,我正在使用SFTP连接器在创建或更改文件时触发。 SFTP连接器只允许监视一个文件夹,但我不想为我要监视的每个文件夹复制逻辑应用程序,所以我在我的应用程序中添加了三个SFTP触发器,每个触发器监视同一SFTP上的不同文件夹站点。
AFAIK你只能在代码视图中执行此操作,一旦你有多个触发器就无法返回到设计器视图,但实际上我按照我的意愿设置了我的逻辑应用程序,然后进入代码视图,重复触发器定义并更改了我需要更改的位(名称,文件夹名称和文件夹ID)。
概述屏幕中的触发历史记录允许您选择要查看的触发器,但无论触发哪个触发器,逻辑应用程序的其余部分都会运行。您也无法查看历史运行的工作流程视图,但只需点击几下,您就可以看到应用程序中每个阶段的情况。
它只能在代码视图中完成,但这是可能的,当然可以使用相同类型的触发器。我不确定混合触发器类型,但我想只要你不依赖于其他人不存在的输出那么它应该没问题。我还用多个电子邮件触发器测试了它。请记住,如果连接器需要不同的连接,则需要在代码中包含每个连接。首先,可能需要在单独的应用程序中构建每个应用程序,然后粘贴相关的代码位。
答案 2 :(得分:1)
这个答案是@Steve答案的延续。史蒂夫已经解释了如何做到这一点,我只想添加一些代码片段以便更清晰。
另外,当我测试这个解决方案时,点击"运行"触发器列表中的第二个文件夹对我来说没有用。从代码视图。因为我认为" Run"默认情况下运行第一个触发器。因此,出于测试目的,我将触发时间设置为15秒,以便在代码视图中保存后更容易进行测试。
"triggers":
{
"When_a_file_is_added_or_modified_folder1": {
"inputs": {
"host": {
"connection": {
"name": "@parameters('$connections')['sftp']['connectionId']"
}
},
"method": "get",
"path": "/datasets/default/triggers/onupdatedfile",
"queries": {
"folderId": "L2hvbWUvbmF3YQ==",
"includeFileContent": true,
"inferContentType": true,
"queryParametersSingleEncoded": true
}
},
"metadata": {
"L2hvbWUvbmF3YQ==": "/home/folder1"
},
"recurrence": {
"frequency": "Second",
"interval": 15
},
"type": "ApiConnection"
},
"When_a_file_is_added_or_modified_folder1_sub": {
"inputs": {
"host": {
"connection": {
"name": "@parameters('$connections')['sftp']['connectionId']"
}
},
"method": "get",
"path": "/datasets/default/triggers/onupdatedfile",
"queries": {
"folderId": "L2hvbWUvbmF3YS9zdWIx",
"includeFileContent": true,
"inferContentType": true,
"queryParametersSingleEncoded": true
}
},
"metadata": {
"L2hvbWUvbmF3YS9zdWIx": "/home/folder1/sub"
},
"recurrence": {
"frequency": "Second",
"interval": 15
},
"type": "ApiConnection"
}
}
感谢Microsoft Azure对其他信息的支持。
答案 3 :(得分:0)