我正在使用Azure Data Factory V2,并希望使用SQL查询将存储为文档的json数据从Azure cosmos db复制到azure sql表。
情况: 我只想从Cosmos db查询最后一小时的json文件,并将其存储在sql表中。为此,我在数据工厂中创建了一个新的触发器,该触发器每1小时重复一次sql查询。
问题: 最初,我编写了一个查询,该查询从cosmos db中读取所有数据,并且工作正常,但是我只想查询存储在cosmos db中最后一小时内的数据。
我需要的? 在Sql中,如何编写查询以获取仅在最近一小时内存储在cosmos db中的新文件?
您可以在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,您需要匹配格式。
Unix time stamp
希望对您有帮助。