从Azure Comos DB查询并使用Data Factory保存到Azure表存储

时间:2018-07-03 10:51:05

标签: azure azure-table-storage azure-data-factory azure-data-factory-2

我想在我的Azure表存储中将C._ts + C.ttl保存为一个实体。我在“复制活动”中执行以下查询:

"typeProperties": {
        "source": {
            "type": "DocumentDbCollectionSource",
            "query": {
                "value": "@concat('SELECT (C.ts+C.ttl) FROM C WHERE (C.ttl+C._ts)<= ', string(pipeline().parameters.bufferdays))",
                "type": "Expression"
            },
            "nestingSeparator": "."
        },

不要要将所有字段从源(即CosmosDB)复制到我的接收器(即表存储)。我只想将此查询的结果存储为一个值。我该怎么办?

1 个答案:

答案 0 :(得分:0)

根据我的测试,我假设您查询的null值是因为收集级别ttl影响每个文档,但不会在文档中生成ttl属性。

因此,当您执行SELECT c.ttl,c._ts FROM c时,只会得到以下结果。

enter image description here

未定义文档级别ttl,仅遵循集合级别ttl

enter image description here

您需要将ttl属性批量添加到每个文档中,以便可以传输_ts+ttl个计算结果。

您的“复制活动”设置看起来不错,只需在SQL中添加别名,或通过列映射设置字段名称即可。

希望它对您有帮助。