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

时间:2018-05-18 08:10:30

标签: sql sql-server azure azure-cosmosdb azure-data-factory

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

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

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

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

1 个答案:

答案 0 :(得分:0)

您可以在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,您需要匹配格式。

希望它对你有所帮助。