根据上次成功 运行 日期在数据工厂中过滤文件
File filtering in data factory based on last successful run date
我每周都会上传 SFTP 中的文件。这些文件的名称附加了日期。我只想每周将最新的文件复制到 adls 中。每当作业成功完成时,日期都会存储在 sql table 中,这样我就可以查找上次成功的 运行 日期。
在我看来,我认为我需要这样的东西:过滤名称中包含的日期大于或等于上次成功 运行 日期的文件....或过滤上次修改日期大于或等于的文件等于上次成功 运行 日期?
这样,如果作业在最后 运行 失败,它将抓取前几周和当前周的文件。
目前我的管道有一个查找可以显示最后一次成功 运行,获取显示 sftp 文件夹中所有文件的元数据、过滤器和每个(副本)。我知道副本有效,因为我为特定文件设置了过滤器并且它有效。我需要帮助的领域是过滤器。
我创建了一个示例进行测试,希望这对您有所帮助:
我设置了一个管道变量 LastRunDate
类型为 string
,值为“2020-07-01”,这与您 lookup activity
.
的输出类似
这是我的 GetMetaData Activity
:
的输出
{
"childItems": [
{
"name": "polo_2020-06-30.csv",
"type": "File"
},
{
"name": "polo_2020-07-01.csv",
"type": "File"
},
{
"name": "polo_2020-07-02.csv",
"type": "File"
}
]
}
Filter Activity
的设置:
"项目":@activity('Get Metadata1').output.childItems
“条件”:@greater(split(split(item().name,'_')[1],'.')[0],variables('LastRunDate'))
这是 Filter Activity
的输出:
{
"ItemsCount": 3,
"FilteredItemsCount": 1,
"Value": [
{
"name": "polo_2020-07-02.csv",
"type": "File"
}
]
}
我最终解决了我的问题,方法是使用翻滚 window 触发器将上次成功的 运行 日期和当前日期变量插入获取元数据中的最后修改参数 activity.我使用 this 作为指导
我每周都会上传 SFTP 中的文件。这些文件的名称附加了日期。我只想每周将最新的文件复制到 adls 中。每当作业成功完成时,日期都会存储在 sql table 中,这样我就可以查找上次成功的 运行 日期。
在我看来,我认为我需要这样的东西:过滤名称中包含的日期大于或等于上次成功 运行 日期的文件....或过滤上次修改日期大于或等于的文件等于上次成功 运行 日期?
这样,如果作业在最后 运行 失败,它将抓取前几周和当前周的文件。
目前我的管道有一个查找可以显示最后一次成功 运行,获取显示 sftp 文件夹中所有文件的元数据、过滤器和每个(副本)。我知道副本有效,因为我为特定文件设置了过滤器并且它有效。我需要帮助的领域是过滤器。
我创建了一个示例进行测试,希望这对您有所帮助:
我设置了一个管道变量 LastRunDate
类型为 string
,值为“2020-07-01”,这与您 lookup activity
.
这是我的 GetMetaData Activity
:
{
"childItems": [
{
"name": "polo_2020-06-30.csv",
"type": "File"
},
{
"name": "polo_2020-07-01.csv",
"type": "File"
},
{
"name": "polo_2020-07-02.csv",
"type": "File"
}
]
}
Filter Activity
的设置:
"项目":@activity('Get Metadata1').output.childItems
“条件”:@greater(split(split(item().name,'_')[1],'.')[0],variables('LastRunDate'))
这是 Filter Activity
的输出:
{
"ItemsCount": 3,
"FilteredItemsCount": 1,
"Value": [
{
"name": "polo_2020-07-02.csv",
"type": "File"
}
]
}
我最终解决了我的问题,方法是使用翻滚 window 触发器将上次成功的 运行 日期和当前日期变量插入获取元数据中的最后修改参数 activity.我使用 this 作为指导