【问题标题】:Transfer files under multiple folder from sftp to sharepoint document library using logic app使用逻辑应用程序将多个文件夹下的文件从 sftp 传输到 sharepoint 文档库
【发布时间】:2021-12-01 22:43:25
【问题描述】:

我有一个场景如何将文件从 sftp 服务器传输到共享点文档库 示例:sftp 文件夹中的文件是 /new/folder1/id1.csv /new/folder2/id2.csv 就像每天文件将上传到文件夹一样。如何使用逻辑应用在共享点文档库中传输相同的结构..

【问题讨论】:

    标签: azure azure-web-app-service sftp sharepoint-online azure-logic-apps


    【解决方案1】:

    文件夹结构的工作流程如下:

    1. List files 在您的 SFTP 文件夹“/new”中。
    2. 使用列表操作的输出作为参数创建"For each" loop
    3. 为确保您不将文件视为文件夹(如果您可以在 /new 中有文件,例如 /new/test.txt),请添加 condition:循环项的 IsFolder 属性 = @ 987654328@.
    4. 在循环内部(以及条件结果True)再次列出文件,这次是在子文件夹中,使用循环项的Path 属性。
    5. 使用此列表操作的输出作为参数创建一个新的“For each”循环。
    6. (可选)添加条件:内部循环项的IsFolder 属性 = false
    7. SFTP 文件的Get content,使用内部循环项的Id 属性。
    8. SharePoint 上的Create a file 使用在先前操作中检索到的文件夹路径、文件名和文件内容作为参数。如果 SharePoint 库中不存在该文件夹,则应自动创建该文件夹。

    鉴于您的问题中提供的文件夹结构,这是最简单的方案。如果文件夹结构更复杂(子文件夹可以包含文件和子文件夹,而子文件夹又可以包含其他文件和子文件夹等等),那么您需要使用递归算法 - 首先逻辑应用需要列出文件在单个 SFTP 文件夹中(在 HTTP request 正文中提供给逻辑应用程序),然后对于每个列出的文件(不是子文件夹)将其内容上传到 SharePoint,对于每个列出的子文件夹(不是文件),逻辑应用程序需要调用本身在 HTTP 请求正文中传递子文件夹路径 - 这样所有子文件夹都将被递归处理,并且其中的所有文件都将被传输到 SharePoint。

    请注意,每运行一个这样的工作流,它都会传输所有个文件 - 它不会检查哪些文件是新的,哪些文件在之前的逻辑应用运行中传输过,等等 - 即将是一个完全不同的挑战。

    【讨论】:

    • 你能保留截图并解释需要什么参数..提前谢谢
    • @Parker - 抱歉,那工作量太大了,我认为您在此过程中需要帮助,并且不需要从头开始为您创建整个逻辑应用程序。我试图通过提供一些指向有关特定逻辑应用操作等的 Microsoft 文章的链接来提供帮助。我建议您尝试创建逻辑应用,如果您有任何需要帮助的特定绊脚石,您可以随时提出另一个问题StackOverflow 社区。​​span>
    • 好的.. 至少告诉我需要采取哪些参数我已经制定了工作流程,但被参数卡住了
    猜你喜欢
    • 1970-01-01
    • 2010-09-21
    • 2010-09-23
    • 1970-01-01
    • 2013-12-10
    • 2013-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多