如何在Azure Logic Apps的SFTP-SSH连接器中创建多个触发器
在Azure Logic Apps中为SFTP-SSH连接器添加多个「When files are added or modified (properties only)」触发器
问题描述
Azure Logic Apps里,SFTP-SSH连接器的「When files are added or modified (properties only)」触发器在可视化界面默认只能添加一个,但官方文档说明最多可配置10个。尝试在代码视图的triggers节点中添加带_2后缀的触发器后未生效,配置代码如下:
{ "definition":{ "$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "actions":{ }, "contentVersion":"1.0.0.0", "outputs":{ }, "triggers":{ "When_files_are_added_or_modified_(properties_only)":{ "inputs":{ "host":{ "connection":{ "referenceName":"sftpwithssh_1" } }, "method":"get", "path":"/datasets/default/triggers/batch/onupdatedfile", "queries":{ "checkBothCreatedAndModifiedDateTime":false, "folderId":"L1NGVFB0ZXN0", "maxFileCount":10 } }, "metadata":{ "L1NGVFB0ZXN0":"/SFTPtest" }, "recurrence":{ "frequency":"Second", "interval":10 }, "splitOn":"@triggerBody()", "type":"ApiConnection" }, "When_files_are_added_or_modified_(properties_only)_2":{ "inputs":{ "host":{ "connection":{ "referenceName":"sftpwithssh_1" } }, "method":"get", "path":"/datasets/default/triggers/batch/onupdatedfile", "queries":{ "checkBothCreatedAndModifiedDateTime":false, "folderId":"L1NGVFB0ZXN9", "maxFileCount":10 } }, "metadata":{ "L1NGVFB0ZXN9":"/SFTPtest/Subfolder" }, "recurrence":{ "frequency":"Second", "interval":10 }, "splitOn":"@triggerBody()", "type":"ApiConnection" } } }, "kind":"Stateful" }
解决方法及问题排查
一、可视化界面添加(推荐)
直接在逻辑应用设计器里操作更简单,不易出错:
- 点击「添加触发器」,再次选择SFTP-SSH的「When files are added or modified (properties only)」触发器
- 配置第二个触发器的连接、监控文件夹、触发频率等参数
- 设计器会自动给触发器生成唯一名称(比如自动加
_1、_2后缀),保存后即可生效
二、代码视图修改的注意事项
你手动修改代码未生效,核心问题是第二个触发器的folderId编码错误:
- 你配置的
folderId是L1NGVFB0ZXN9,解码后是/SFTPtest/Subfolde(少了最后一个r),和metadata里的/SFTPtest/Subfolder不匹配,导致触发器无法正确识别监控目录 - 另外要确保每个触发器的键名(即触发器名称)唯一,你用的
When_files_are_added_or_modified_(properties_only)_2是符合要求的
修正后的代码示例:
{ "definition":{ "$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "actions":{ }, "contentVersion":"1.0.0.0", "outputs":{ }, "triggers":{ "When_files_are_added_or_modified_(properties_only)":{ "inputs":{ "host":{ "connection":{ "referenceName":"sftpwithssh_1" } }, "method":"get", "path":"/datasets/default/triggers/batch/onupdatedfile", "queries":{ "checkBothCreatedAndModifiedDateTime":false, "folderId":"L1NGVFB0ZXN0", "maxFileCount":10 } }, "metadata":{ "L1NGVFB0ZXN0":"/SFTPtest" }, "recurrence":{ "frequency":"Second", "interval":10 }, "splitOn":"@triggerBody()", "type":"ApiConnection" }, "When_files_are_added_or_modified_(properties_only)_2":{ "inputs":{ "host":{ "connection":{ "referenceName":"sftpwithssh_1" } }, "method":"get", "path":"/datasets/default/triggers/batch/onupdatedfile", "queries":{ "checkBothCreatedAndModifiedDateTime":false, "folderId":"L1NGVFB0ZXN0L1N1YmZvbGRlcg==", "maxFileCount":10 } }, "metadata":{ "L1NGVFB0ZXN0L1N1YmZvbGRlcg==":"/SFTPtest/Subfolder" }, "recurrence":{ "frequency":"Second", "interval":10 }, "splitOn":"@triggerBody()", "type":"ApiConnection" } } }, "kind":"Stateful" }
内容的提问来源于stack exchange,提问作者Vishnu
相关产品推荐
相关产品推荐

