Azure 数据工厂和 Cosmos DB
Posted
技术标签:
【中文标题】Azure 数据工厂和 Cosmos DB【英文标题】:Azure Data Factory and Cosmos DB 【发布时间】:2022-01-16 11:32:20 【问题描述】:我也是 ADF 和 Cosmos DB 的新手。
我在 ADF 中使用 Copy 活动从 Cosmos DB 获取数据并将其复制到 Synapse DWH
我正在尝试使用 adf 中的以下查询获取昨天的数据:
Select * from c where TimestampToDateTime(c.timeStamps)>”@FormatDateTime(subtractFromTime(utcnow(),2,’Day’),’yyyy-MM-dd’)”
当我尝试预览数据时,查询一直超时。我的方向正确吗?
【问题讨论】:
【参考方案1】:考虑到您有 UTC 日期和时间 ISO 8601 格式的 timeStamps
值,格式为 YYYY-MM-DDThh:mm:ss.fffffffZ
SELECT * FROM c where c.ModifiedDate > DateTimeAdd("dd", -1, GetCurrentDateTime ()) and c.ModifiedDate < GetCurrentDateTime ()
【讨论】:
嗨,我没有修改日期,adf 一直显示 datetimeadd 不是一个可识别的函数 只需将ModifiedDate
替换为包含时间戳的列名,即在您的情况下为timeStamps
。这是官方的 MS DOC docs.microsoft.com/en-us/azure/cosmos-db/sql/…
它仍然显示DateTimeAdd是一个无法识别的函数的错误,经过我的研究我发现可能是因为.NET SDK版本2.5,它不支持这些新添加的cosmos db功能
是的,从错误documentdb-dotnet-sdk/2.5.1 Host/64-bit MicrosoftWindowsNT/6.2.9200.0 Exception from HRESULT: 0x800A0B00
来看,它确实看起来一样。但上述查询在从 CosmosDB 数据资源管理器中执行时可以正常工作。以上是关于Azure 数据工厂和 Cosmos DB的主要内容,如果未能解决你的问题,请参考以下文章