Azure functions Azure逻辑应用程序FTP并发触发器

Azure functions Azure逻辑应用程序FTP并发触发器,azure-functions,azure-logic-apps,Azure Functions,Azure Logic Apps,我正在开发一个Azure Logic应用程序,它从FTP读取添加的文件,并将它们作为POST发送到Azure函数。在此之后,文件将从FTP服务器中删除。 总执行时间约为1秒。 我面临的问题是,Logic应用程序似乎一次只能处理一个文件,因此Logic应用程序一分钟最多只能处理60个新文件。 我已经将并发运行设置为42,但这似乎没有改变任何事情 如何使此逻辑应用程序更快地处理这些文件 "triggers": { "When_a_file_is_added_or_modi

我正在开发一个Azure Logic应用程序,它从FTP读取添加的文件,并将它们作为POST发送到Azure函数。在此之后,文件将从FTP服务器中删除。 总执行时间约为1秒。 我面临的问题是,Logic应用程序似乎一次只能处理一个文件,因此Logic应用程序一分钟最多只能处理60个新文件。 我已经将并发运行设置为42,但这似乎没有改变任何事情

如何使此逻辑应用程序更快地处理这些文件

  "triggers": {
            "When_a_file_is_added_or_modified": {
                "inputs": {
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['ftp']['connectionId']"
                        }
                    },
                    "method": "get",
                    "path": "/datasets/default/triggers/onupdatedfile",
                    "queries": {
                        "folderId": "L2Z0cC9maWxlcw==",
                        "includeFileContent": true
                    }
                },
                "metadata": {
                    "L2Z0cC9maWxlcw==": "/ftp/files"
                },
                "recurrence": {
                    "frequency": "Second",
                    "interval": 15
                },
                "runtimeConfiguration": {
                    "concurrency": {
                        "runs": 42
                    }
                },
                "type": "ApiConnection"
            }
        }

我相信FTP触发器的行为是,它一次只返回一个文件(特别是在这种情况下,当触发器主体中包含文件内容时),但如果有更多文件准备好被触发,它会收到一个信号,并立即获取下一个文件。您的并发设置有助于确定它是否将继续获取下一个。所以行为:

  • 以轮询间隔检查新文件
  • 如果是新文件,则触发。触发器还将包括一个“是否有更多”或“是否全部?”标志(
    标题后重试)
  • 如果还有更多,请立即返回并获取下一个文件
  • 如果没有更多,请等待下一个轮询间隔
  • 重复

  • 这不是FTP连接器的问题,你可以检查触发器,它永远不会说它可以响应多个文件

    如果您同时修改多个文件,将多次触发逻辑应用程序。如果禁用,则表示不受限制,也没有最多60个文件的限制

    我用100个文件进行测试,这一切都可能触发。结果将如下图所示,它们将同时运行


    我不明白。标头和“是否还有更多”信息发出后重试的位置在哪里?连接器会为您进行设置。如果有多个文件被删除,则设置该头是连接器代码的一部分uploaded@Marknl,如果这对你有帮助,请接受它作为答案。