【发布时间】:2021-01-14 18:40:43
【问题描述】:
我有一个文件夹,比如说 SFTP 中的 A,这个文件夹有 16 个子文件夹,比如说 A1-P1。每个子文件夹有 20 个 csv 文件。
在我的 blob 存储中,我有与 SFTP 同名的文件夹(A 包含 A1-P1。我已经能够连接到 SFTP,创建了连接,创建了包含复制活动的 ForEach 容器,但是我不知道这些复制活动将如何连接到 blob 存储中的单个文件夹以放置 20 csv 每个子文件夹中的文件。
【问题讨论】:
我有一个文件夹,比如说 SFTP 中的 A,这个文件夹有 16 个子文件夹,比如说 A1-P1。每个子文件夹有 20 个 csv 文件。
在我的 blob 存储中,我有与 SFTP 同名的文件夹(A 包含 A1-P1。我已经能够连接到 SFTP,创建了连接,创建了包含复制活动的 ForEach 容器,但是我不知道这些复制活动将如何连接到 blob 存储中的单个文件夹以放置 20 csv 每个子文件夹中的文件。
【问题讨论】:
您可以使用Azure Data Factory。因为你的sftp的文件夹名和存储容器的文件夹名是一样的,所以可以先用Get Metadata取回sftp文件夹名,再用for each复制文件。
首先创建sftp和存储服务:
在Get Metadata中,需要设置数据集:
点击open按钮,然后配置你的sftp路径:
然后可以使用for each中的copy data复制文件,需要配置Source dataset和sink数据集。
点击open按钮,然后配置file path,需要使用concat拼接Get metadata中的路径:
汇数据集:
【讨论】: