首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Azure Data Factory从Cosmos DB文档中提取数组属性

使用Azure Data Factory从Cosmos DB文档中提取数组属性
EN

Stack Overflow用户
提问于 2019-07-11 22:36:06
回答 2查看 707关注 0票数 0

我有一个Azure Data Factory v2管道,它从Cosmos DB集合中提取数据。这个集合有一个数组的属性。

我希望至少能够将整个属性的值转储到SQL Azure中的一个列中。我不需要解析它(尽管那样也很好),但是ADF在数据集定义中将此列列为“不支持的类型”,并将其列在“排除的列”部分中。

下面是我正在使用的JSON的一个示例。我想要的属性是"MyArrayProperty":

代码语言:javascript
复制
{
    "id": "c4e2012e-af82-4c48-8960-11e0436e6d3f",
    "Created": "2019-06-14T16:04:13.9572567Z",
    "Updated": "2019-06-14T16:04:14.1920988Z",
    "IsActive": true,
    "MyArrayProperty": [
                {
                    "SomeId": "a4427015-ca69-4958-90d3-0918fd5dcac1",
                    "SomeName": "BlahBlah"
                }
            ]
    }
}

我尝试过在ADF数据源中手动指定一个列,如"MyArrayProperty“,并使用字符串数据类型,但该值始终为null。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-13 01:52:28

也许有更好的方法来解决这个问题,但我最终创建了第二个复制活动,它使用对Cosmos的查询而不是基于集合的捕获。查询将数组展平,如下所示:

代码语言:javascript
复制
SELECT m.id, c.SomeId, c.SomeName
FROM myCollection m join c in m.MyArrayProperty

然后,我把这个数据集放到SQL中的一个表中,然后在SQL Azure中做我的其他工作。您还可以使用新的连接管道任务在内存中完成此操作,然后才能到达目的地。

票数 0
EN

Stack Overflow用户

发布于 2019-07-12 03:10:05

有关MongoDB和Azure SQL之间的架构映射示例,请查看this文档。基本上,您应该定义将遍历对象的嵌套数组并进行交叉应用的collectionReference。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56991718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档