数据工厂子项修改或创建日期

Data Factory Childitem modified or created date

我有一个由 'get metadata' 和 'forEach' 活动组成的数据工厂 V2 管道,这些活动读取文件共享(本地)上的文件列表并将其记录在数据库中 table.目前,我只能读取文件名,但还想检索每个文件的修改日期 and/or 创建日期 属性。有什么帮助吗?

谢谢

根据MS documentation。 我们可以看到 File systemSFTP 都支持 lastModified 属性。但是我们一次只能获取一个文件或文件夹的lastModified

我正在使用 File system 进行测试。过程与前面的基本相同,我们需要在ForEachactivity中添加一个GetMetaDataactivity。 这是我的本地文件。

  1. 首先,我创建了一个 table 用于日志记录。
create table Copy_Logs (
    Copy_File_Name varchar(max),
    Last_modified datetime
)
  1. 在 ADF 中,我在 Get Metadata1 activity 使用 Child Items 来获取文件夹的文件列表。

  2. 然后在 ForEach1 activity 添加动态内容 @activity('Get Metadata1').output.childItems

  3. ForEach1 activity 内,在 Get Metadata2 activity 处使用 Last modified

Get Metadata2activity的数据集中,我输入@item().name如下。

  1. 使用CopyFiles_To_Azureactivity将本地文件复制到Azure Data Lake Storage V2。 我在 CopyFiles_To_Azure activity 的源数据集中键入 @item().name

  2. Create_Logs activity,我正在使用以下 sql 来获取我们需要的信息。

select '@{item().name}' as Copy_File_Name, '@{activity('Get Metadata2').output.lastModified}' as Last_modified
  1. 最后沉到我们之前创建的sqltable。结果如下。

我能想到的一种方法是在 FE 循环中添加一个新的 Getmetdata 并使用参数化数据集并将文件名作为参数传递。下面的动画应该有帮助,我也测试过。 哈特。