有没有办法使用Azure Data Factory将文件上传到S3存储桶?

10 浏览
0 Comments

有没有办法使用Azure Data Factory将文件上传到S3存储桶?

我正在尝试设置一个ETL管道,其中:

  1. 源是SQL Server表中的二进制流形式的列
  2. 目标(接收器)是S3存储桶

我的要求是:

  1. 从SQL Server表中读取二进制流列
  2. 逐行处理二进制流数据
  3. 为每个二进制流数据上传文件到S3存储桶

我尝试过在Azure Data Factory上使用DataFlow、Copy和AWS Connectors,但没有选项可以将S3存储桶设置为目标(接收器)。

在Azure Data Factory中是否有其他方法可以满足这些要求?

0
0 Comments

有一种解决方法是使用SFTP作为sink,使用copy data activity上传文件到S3存储桶。下面是我尝试过的方法。

首先,我使用Lookup活动获取SQL表的行数据。然后,在foreach循环中,我将文件名和文件数据分别存入两个变量。

接下来,我准备了一个示例的CSV文件(只有一行一列,后续将会被忽略),并添加了一个附加列,其动态内容值为经过处理的二进制流数据(在映射中只保留所需的附加列,删除其他列)。

然后,我创建了一个sink数据集,用于存储每一行数据作为单独的blob到目标blob容器中。

最后,我添加了另一个copy活动。将第一个copy活动的sink作为源,然后将sink设置为可以连接到Amazon S3的SFTP。

更多信息,请参考在Azure Data Factory中使用SFTP服务器进行数据复制和转换

0