Azure的逻辑应用程序从SFTP服务器获取csv文件,并插入到Azure的SQL数据库表

问题描述:

可有人请推荐这样做的这种使用Azure的逻辑应用的最佳方式:Azure的逻辑应用程序从SFTP服务器获取csv文件,并插入到Azure的SQL数据库表

我已经是该场景:

I)连接到SFTP服务器

ii)由SFTP服务器获取csv文件

III)解析csv文件,并移动负载到Azure的SQL数据库表

使用SFTP连接器从SFTP服务器获取csv文件后,我应该将文件内容传递给Azure功能吗?

然后在Azure函数中解析文件内容,然后在Function中使用存储过程?

或者将已转换的文件内容传递回逻辑应用程序以执行存储过程以将记录插入到Azure SQL中?

或其他任何建议

此视频和演练是有点过时,但仍然具有现实意义和做几乎正是这一点。只需将“API App”替换为Function即可。

video here

为了保持功能做的只有一件事我可能去:

  1. SFTP触发
  2. 通行证在CSV的功能,并使其返回JSON
  3. 调用存储在Logic Apps中进行处理并传入Function JSon输出。预计OPENJSON在SQL将很好地在这里玩

让我们知道,如果您有任何其他?的

+0

感谢您的解决方案,我只是实现它 – Kojof

+0

当我在从SFTP连接器获取文件第一阶段,我创建了一个C#通用Web钩子将文件内容发送到Azure功能。但我得到这个错误 - “WebHook请求必须包含格式为JSON的实体主体。”我应该使用C#通用Web钩子将其发送到Azure功能吗?或者,如何将平面文件的内容转换为JSON,然后将其发送到Azure功能? – Kojof

+0

来自FTP的内容最初没有内容类型,无论是二进制还是纯文本。所以你需要首先将它转换为JSON(或者使用HttpTrigger函数而不是通用Webhook并接受纯文本或者保留相同的函数并将其转换为JSON)。最简单的方法可能就是将它投射到逻辑应用程序中。如果将输入从“内容”更改为包装在@json()表达式中的内容,它将起作用。 该表达式在代码视图中可能类似于'@json(triggerBody())',或者在设计器中的表达式编辑器中使用'json(triggerBody())' – jeffhollan