Azure 数据工厂 V2 检查副本的文件大小 Activity

Azure Data Factory V2 Check file size for Copy Activity

我需要 运行 本地数据源中文件的副本 activity。我需要检查文件大小,如果大小大于0,我会复制它们。如果文件大小为0,我会发送通知,以便管理员检查来源。

问题是,在获取元数据activity中,字段列表中的参数不包括大小。此外,验证 activity 也不查找大小 属性。有什么建议吗?同样,这些文件在 本地。

我在获取元数据后添加了 If 条件 activity 并使用了表达式:

@greaterOrEquals(activity('Get-metadata-source').output.size,0)

这会产生以下错误:

无法计算表达式 'greaterOrEquals(activity('Get-metadata-source').output.size,0)' 因为 属性 'size' 不存在, 可用属性为 'childItems, effectiveIntegrationRuntime, executionDuration, durationInQueue, billingReference'.

谢谢!

如果您在Get Metadata active中选择一个文件而不是文件夹作为数据集,您可以获得文件大小。

如果您的文件位于相同的文件夹或位置,您可以按照以下步骤操作:

  1. 使用一个获取元数据获取文件名列表:参数:Child items

  1. 使用For Each active循环所有文件:@activity('Get Metadata1').output.childitems:

  1. 在Foreach active中,创建另一个数据集2具有相同的路径 with dataset 1,用参数设置文件名

  1. 在 Foreach active 中,使用另一个 Get Metadata 获取文件 size。 将 foreach item.name 传递给文件名:

  1. 运行管道并获取文件大小。

您可以添加 if 条件来判断文件大小并构建您的管道。

HTP