Azure 数据工厂 V2 检查复制活动的文件大小

ela*_*Sol 1 azure-data-factory

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

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

我在“获取元数据”活动之后添加了“If 条件”并使用了表达式:

@greaterOrEquals(activity('Get-metadata-source').output.size,0)
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误:

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

谢谢你!

Leo*_*Yue 6

如果您在“获取元数据”活动中选择文件而不是文件夹作为数据集,则可以获得文件大小。

\n

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

\n
    \n
  1. 使用一个“获取元数据”来获取文件名列表:参数:Child items\n在此输入图像描述
  2. \n
\n

在此输入图像描述

\n
    \n
  1. 使用For Each 活动循环所有文件: @activity(\'Get Metadata1\').output.childitems:
  2. \n
\n

在此输入图像描述

\n
    \n
  1. 在 Foreach 活动中,创建另一个数据集 2,其路径与数据集 1\xef\xbc\x8c 具有相同的路径,并使用参数设置文件名。
  2. \n
\n

在此输入图像描述

\n
    \n
  1. 在 Foreach 活动中,使用另一个获取元数据来获取文件size。\n将 foreach 传递item.name给文件名:
  2. \n
\n

在此输入图像描述

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

在此输入图像描述

\n

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

\n

高温TP

\n