当源数据集是 Blob 存储时,我可以在 Azure 数据工厂中一次填充不同的 SQL 表吗?

Can i populate different SQL tables at once inside azure data factory when the source data set is Blob storage?

我想将数据从 Azure Blob 存储复制到 Azure sql 数据库。目标数据库在不同的 table 之间划分。

那么有什么方法可以让我在一个副本中使用单个管道将 blob 数据直接发送到不同的 sql tables activity?

因为这应该是一个基于触发器的管道,所以它是一个连续的过程,我每小时创建一个触发器,但现在我只能将 blob 数据发送到一个 table,然后将它们分成不同的 table 通过调用另一个管道,其中源和接收器数据集都是 SQL 数据库。

寻找解决方案

您可以将数据库中的存储过程用作副本中的接收器 activity。这样,您可以在存储过程中定义将数据写入目标 tables 的逻辑。您可以找到存储过程接收器的描述 here.

您必须为此解决方案使用用户定义的 table 类型,维护它们可能很困难,如果您 运行 遇到问题,可以查看我的 & BioEcoSS'在 this thread.

中回答

根据我的经验和 Azure 数据工厂文档,我们无法在一个副本 activity 中使用单个管道直接将 blob 数据发送到不同的 sql table。

因为在Table映射设置中,One Copy Data Active只允许我们select一个对应的table目标数据存储或者指定存储过程到运行在目的地。

您不需要创建新的管道,只需添加一个新的副本数据活动,每个副本活动调用不同的存储过程。

希望对您有所帮助。