我在 ADF 中有一个复制活动,用于将文件从 Blob 存储容器复制到另一个容器。
使用“通配符文件路径”(如“Energy*.zip”)过滤文件。
如果复制的文件数量为零,我希望管道报告失败。
我无法使用“获取元数据”,因为源中有数百万个文件,这会导致以下错误:
The length of execution output is over limit (around 4MB currently)
有什么办法可以获取复制文件的数量并在为零时报告失败吗?
Pipeline 只有一项 Copy 活动,没有其他活动。
您可以使用失败活动来使管道失败。复制活动成功后,检查 if 活动中写入的文件数是否为零,并在 if 的 True 活动中使用失败活动。
您可以从复制活动输出中获取filesWritten计数。
使用以下表达式检查 if 活动。
@equals(activity('Copy data1').output.filesWritten,0)
在 if 活动的 True 活动中,采用 Fail 活动并提供任何自定义消息和自定义错误代码,如下所示。
当复制活动写入的文件计数为零时,管道将失败并显示上述错误消息。