我正在使用ADF v2将数据从Blob存储上的CSV源导入Azure SQL Dat Warehouse . 我在管道中的第一个活动是从CSV(在热blob存储上)到Azure SQL DWH的复制活动 . 如果此活动成功完成,则下一个活动将再次复制活动,但现在从CSV(在热点blob存储上)到CSV(在冷却blob存储上),移动历史记录和存储定价优化流程 . CSV文件的文件名作为管道参数发送到管道 .
我注意到,如果我启动blob存储上不存在的csv的Filename参数的管道,则第一个复制活动(CSV - > DWH)完成且没有错误 . 它不会将任何数据导入DWH,这是正常的,但不会引发丢失文件的错误 . 下一次复制活动(CSV热存储 - > CSV冷存储)引发失败错误 - >缺少blob .
我也想复制到DWH以引发错误,因为这样我可以在管道中添加其他活动来处理这种情况 . 在某处记录错误,将文件标记为缺失等 .
在没有源blob存在的情况下成功完成的从存储到DWH的复制活动中的具体内容是什么?我在活动的Sink部分使用polybase复选框,如果这是重要的 .
如果源blob不存在,有谁知道如何将此复制活动(存储CSV - > SQL DWH)设置为失败?
谢谢
1 回答
是 . 您可以在if活动中添加任意数量的活动 . 因此,您可以使用getMetadata活动获取有关blob存储的详细信息(请参阅文档中的exists属性,链接如下) .
https://docs.microsoft.com/en-us/azure/data-factory/control-flow-get-metadata-activity