如何为昨天的记录指定 Azure 数据工厂源(Azure Table 存储)的查询

How to specify query for Azure Data Factory Source (Azure Table Storage) for yesterday's records

我每天都将记录从 Azure 存储 Table(源)复制到 Azure 存储 Table(接收器)。因此,如果我在 2019 年 12 月 24 日(UTC)执行查询,那么我想复制 2019 年 12 月 23 日(UTC)的记录。该查询有效并且正在执行我打算执行的操作。这是查询:

Timestamp ge datetime'2019-12-23T00:00Z' and Timestamp lt datetime'2019-12-24T00:00Z'

在上面的查询中,当在其中插入新记录时,Timestamp 列会自动在 Azure 存储 Table 中标记。这就是 Azure 存储 Table 的工作原理。

这里是数据工厂管道的屏幕截图:

我现在想参数化查询。也就是说:如果查询是 2019 年 12 月 24 日的 运行,那么它应该复制 2019 年 12 月 23 日的记录,并在每天按计划执行时保持滑动。我不知道该怎么做。我知道有一个 utcNow 函数和一个 subtractFromTime 函数。只是不知道怎么组合。

你可以这样做:

addDays(startOfDay(utcNow()), -1)

这会找到前一天的开始时间

https://docs.microsoft.com/en-us/azure/data-factory/control-flow-expression-language-functions#date-functions

@4c74356b41,感谢您的支持。根据您的回答和更多谷歌搜索,我能够将其拼凑起来。这是最终表达式:

Timestamp ge @{concat('datetime','''',addDays(startOfDay(utcNow()), -1),'''')} and Timestamp lt @{concat('datetime','''',startOfDay(utcNow()),'''')}