【发布时间】:2018-01-30 13:50:55
【问题描述】:
我正在尝试找到将昨天的数据从 DocumentDB 复制到 Azure SQL 的最佳方法。
我有一个可用的 DocumentDB 数据库,它记录通过 Web 服务收集的数据。我想定期(每天)将所有 new 记录从 DocumentDB 复制到 Azure SQL DB 表。为了做到这一点,我创建并成功执行了一个 Azure 数据工厂管道,它复制日期时间 > '2018-01-01' 的记录,但我只能让它在任意日期工作 - 从来没有从变量中获取日期。
我对 DocumentDB SQL 查询的研究表明,它具有数学、类型检查、字符串、数组和地理空间函数,但没有与 SQL Server 的 getdate() 函数等效的日期时间函数。
我了解数据工厂管道有一些可访问的系统变量,包括 utcnow()。但是,我无法弄清楚如何通过成功编辑 JSON 来实际使用它们。如果我尝试只在查询中包含 utcnow(),我会从 DocumentDB 收到一个错误,即“'utcnow' 不是可识别的内置函数名”。
"query": "SELECT * FROM c where c.StartTimestamp > utcnow()",
如果我尝试使用 utcnow() 在 JSON 中构建字符串,我什至无法保存它,因为语法错误:
"query": "SELECT * FROM c where c.StartTimestamp > " + utcnow(),
我愿意尝试与数据工厂管道不同的技术,但我的 DocumentDB 中有很多数据,所以我不想放弃它,而且我对 SQL 编程更加熟悉,需要迁移那里的数据用于加入和其他分析。
每天将这些新条目复制到 Azure SQL 中的暂存表中的最简单和最好的方法是什么?
【问题讨论】:
标签: azure-sql-database azure-cosmosdb azure-data-factory