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

问题描述 投票:0回答:2

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

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

在上面的查询中,当在其中插入新记录时,时间戳列会自动标记在Azure存储表中。这就是Azure存储表的工作方式。

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

enter image description here

我现在想参数化查询。也就是说:如果查询于2019年12月24日运行,则它应复制2019年12月23日的记录并在每天按计划执行时保持滑动。我不知道该怎么做。我知道这里有一个utcNow函数,还有一个减去自时间函数。我只是不知道如何将其组合在一起。

azure parameters azure-table-storage azure-data-factory
2个回答
0
投票

您可以执行以下操作:

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

这将找到前一天的开始

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


0
投票

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

Timestamp ge @{concat('datetime','''',addDays(startOfDay(utcNow()), -1),'''')} and Timestamp lt @{concat('datetime','''',startOfDay(utcNow()),'''')}
© www.soinside.com 2019 - 2024. All rights reserved.