我正在尝试为过滤器活动编写 ADF 动态内容,其中我需要过滤文件,其名称中包含日期,来自通过多个条件获取元数据活动。我正在编写一个 SQL 查询,它使用
WHERE
条件下的活动输出,然后提供 DATE 作为输出。然后我只需要选择名称中的日期大于或等于 SQL 查询的输出 DATE 的文件。
再次满足上述条件的文件我需要确保它们的扩展名是
.csv
或.zip
。
我正在为此编写动态内容,但它会导致错误。我不明白如何正确地写它。
我试着写这个
@and(or(endswith(item().name,'.zip'),endswith(item().name,'.csv')),
greaterOrEquals(formatDateTime(substring(item().name,6,10),'yyyy-MM-dd'),
formatDateTime(
select last_success_run_Date from dbo.ADF_Control_Table
where FileName = '@{substring(replace(item().name,".zip",""),17, sub(length(item().name), 21))}',
'yyyy-MM-dd'
)))
我假设在您过滤文件的活动中(可能是内部带有 If 条件的 ForEach 活动),您需要使用其输出。
您可以使用变量last_success_run_Date作为变量或先前活动的输出:
@and(
or(
endswith(item().name, '.zip'),
endswith(item().name, '.csv')
),
greaterOrEquals(
formatDateTime(substring(item().name, 6, 10), 'yyyy-MM-dd'),
formatDateTime(variables('lastSuccessRunDate'), 'yyyy-MM-dd')
)
)