我需要使用 Azure Datafactory 处理容器中的文件,并在下次执行时跟踪处理过的文件。
所以我在数据库中保留了一个存储已处理文件信息的表,在 ADF 中,我正在获取已处理文件的文件名,并且我想检查当前文件是否已被处理。
我正在使用查找活动:获取所有 已处理的文件以使用以下查询从数据库中获取已处理的文件:
select FileName from meta.Processed_Files;
然后我遍历目录,并通过使用获取元数据活动获取目录中当前文件的文件详细信息:“获取迭代中当前文件的详细信息”
在 If Condition 活动中,我使用以下表达式:
@not(contains(activity('Get All Files Processed').output.value,activity('Get Detail of current file in iteration').output.itemName))
即使文件已被处理,这始终返回 True
我们如何比较返回值中的 FileName
活动的输出('获取所有已处理的文件').output.value
{
"count": 37,
"value": [
{
"FileName": "20210804074153AlteryxRunStats.xlsx"
},
{
"FileName": "20210805074129AlteryxRunStats.xlsx"
},
{
"FileName": "20210806074152AlteryxRunStats.xlsx"
},
{
"FileName": "20210809074143AlteryxRunStats.xlsx"
},
{
"FileName": "20210809074316AlteryxRunStats.xlsx"
},
{
"FileName": "20210810074135AlteryxRunStats.xlsx"
},
{
"FileName": "20210811074306AlteryxRunStats.xlsx"
},
活动的输出('获取迭代中当前文件的详细信息').output.itemName
"20210804074153AlteryxRunStats.xlsx"


