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的主要内容,如果未能解决你的问题,请参考以下文章

创建 Azure Cosmos DB 帐户数据库和集合

Azure 认知搜索和 Cosmos DB RU 消耗

Azure Cosmos DB 知识整理

Azure Cosmos DB 知识整理

Azure C#,过滤存储在cosmos DB中的原始数据(通过功能URL显示)

将Cosmos DB模拟器(MongoDB API)迁移到Azure时发生致命错误