【问题标题】:Azure Data Factory and Cosmos DBAzure 数据工厂和 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’)}”

当我尝试预览数据时,查询一直超时。我的方向正确吗?

【问题讨论】:

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


    【解决方案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 数据资源管理器中执行时可以正常工作。
    猜你喜欢
    • 1970-01-01
    • 2020-12-11
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    • 2019-07-19
    • 2020-10-07
    相关资源
    最近更新 更多