使用 Azure 数据工厂复制活动防止生成空文件

MAK*_*MAK 2 azure azure-data-factory azure-data-lake

我正在使用 Azure 数据工厂将数据从 Azure Cosmos DB 复制到 Azure Data Lake。我的管道包含一个复制活动,它将数据复制到数据湖接收器。

这是我对源数据集的查询:

select * from c 
where c.data.timestamp >= '@{formatDateTime(addminutes(pipeline().TriggerTime, -15), 'yyyy-MM-ddTHH:mm:ssZ' )}' 
AND c.data.timestamp < '@{formatDateTime(pipeline().TriggerTime, 'yyyy-MM-ddTHH:mm:ssZ' )}'
Run Code Online (Sandbox Code Playgroud)

我正在获取触发时间前最后 15 分钟的数据。

现在,如果查询没有检索到数据,则复制活动会生成一个空文件并将其存储在数据湖中。我想阻止这种情况发生。我有什么办法可以实现这个目标吗?

use*_*545 5

您可以使用查找活动,然后使用 if 活动来决定是否需要运行复制活动。

在查找活动中,您可以将firstRowOnly 设置为true,因为您只想检查是否有数据。

在此输入图像描述