小编典典

从cosmos db查询特定的时间范围数据,并通过azure数据工厂将其存储在sql数据库中

sql

我正在使用Azure Data Factory V2,并希望使用SQL查询将存储为文档的json数据从Azure cosmos db复制到azure
sql表。

情况: 我只想从Cosmos
db查询最后一小时的json文件,并将其存储在sql表中。为此,我在数据工厂中创建了一个新的触发器,该触发器每1小时重复一次sql查询。

问题: 最初,我编写了一个查询,该查询从cosmos db中读取所有数据,并且工作正常,但是我只想查询存储在cosmos db中最后一小时内的数据。

我需要的? 在Sql中,如何编写查询以获取仅在最近一小时内存储在cosmos db中的新文件?


阅读 185

收藏
2021-04-28

共1个答案

小编典典

您可以在cosmos db集合中定义udf。

function getLastHourTime(){
    var date = new Date();
    var a = date.setHours(-1);
    return a;
}

将您的sql修改为:

SELECT * FROM c where c.time >= udf.getLastHourTime()

注意:udf.getLastHourTime()返回Unix time stamp,您需要匹配格式。

希望对您有帮助。

2021-04-28