问题标签 [azure-cosmosdb-sqlapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
43 浏览

azure-cosmosdb - 建模文档数据和查询性能

我有一个 aggerate 数据模型(认为一个带有属于它们的小部件的客户实体作为嵌入实体的列表)。

当我搜索客户(例如 DocumentDBRepository.GetItemsAsync)时,这将为客户数据模型以及每个小部件提供水合。出于效率原因,我真的不需要客户搜索来考虑小部件。

在文档数据库(例如“LiteCustomer”实体)中是否有任何策略?我怀疑这不仅仅是我一开始就告诉它存储的“无模式”数据的性质,而是有兴趣听听想法。

这仅仅是一个“非问题”吗?

0 投票
1 回答
1141 浏览

azure - 如何部署 Comsos Db 存储过程

我有一个 Azure Cosmos DB 存储过程,我希望它包含在我的持续集成脚本中,以便在部署数据库时与解决方案一起部署。我正在使用 VSTS 来处理我的部署。我猜我必须使用 powershell 脚本来部署版本中的存储过程。有没有关于如何将存储过程与 cosmos dbs 一起部署的好例子?

0 投票
3 回答
944 浏览

azure - 是否可以使用他们的 SDK 在 CosmosDB 中获取集合的分区键?

我正在使用 RESTfull HTTP 请求来获取集合的分区键。我在做:

有没有更有效的方法来做到这一点?他们的 SDK 是否有直接获取分区密钥的方法?

更新

我对获取分区键范围的回应是:

item={ "_rid": "lIB0ALrgyAACAAAAAAAAUA==", "id": "0", "_etag": "\"00000000-0000-0000-0318-18b49de501d4\"", "minInclusive": "", "maxExclusive": "FF", "ridPrefix": 0, "_self": "dbs/lIB0AA==/colls/lIB0ALrgyAA=/pkranges/lIB0ALrgyAACAAAAAAAAUA==/", "throughputFraction": 1.0, "status": "online", "parents": [], "_ts": 1528895512 }

这如何让我接近找出分区键是什么?

0 投票
1 回答
1001 浏览

azure-cosmosdb - 查询 Cosmos 嵌套 JSON 文档

我想把这个结果集

进入这个

我可以通过使用类似的查询来接近

但是,我最终得到

如何使用 SQL API 将每个值转换为单个 JSON 片段?

0 投票
1 回答
720 浏览

azure-cosmosdb - Cosmos DB 对数据库的分区访问

我正在使用 cosmosDB 实现一个多租户应用程序。我正在使用分区键来分隔多个用户数据。遵循最佳实践,我试图让每个租户都有自己的数据库访问令牌。

我创建了一个用户和权限,并使用创建的令牌来访问分区。但我收到以下错误:

提供的分区键与集合中的定义不对应,或者与文档中指定的分区键字段值不匹配。ActivityId:1659037a-118a-4a2d-8615-bb807b717fa7,Microsoft.Azure.Documents.Common/1.22.0.0,Windows/10.0.17134 documentdb-netcore-sdk/1.9.1

我的代码如下:

构造函数启动客户端

get user 函数创建用户并检索令牌。用户 ID 是分区键。

权限是按集合完成的,并将集合名称作为 ID 保存,因为每个用户的 ID 都是唯一的。

create 函数利用了新的客户端和发生错误的地方。

0 投票
1 回答
1113 浏览

python - 在 azure cosmos db 上创建集合太慢

我正在尝试使用 pydocumentdb 使用 Python 将 CSV 文档自动上传到 Azure Cosmos SQL API DB。我正在使用 pandas 执行一些数据预处理,然后将每一行转换为 JSON 格式。最后,我为 CSV 的每个转换行创建一个文档。

原始 csv 大约 431 MB 和 5173620 个寄存器(行),这意味着我需要将每个寄存器(行)作为新文档摄取。我发现 createDocument() 函数非常慢(完成所有寄存器需要一天多的时间)。虽然单分区 Cosmos db 限制为 10000 RU,但 Count all documents 查询花费 29025.92 RU,结果似乎不准确。

我想知道是否有办法提高 createDocument 函数的性能。另外我想知道如何在 createCollection 函数上定义 RU。欢迎任何提示。

0 投票
1 回答
2203 浏览

c# - 如何将字符串列表从 Sql 数据插入 Document Db / cosmos db?

我有 sql 数据库表并且select query正在获取数据并希望将该数据插入到文档数据库中。

我试过如下 -

我可以使用以下代码获取 sql 数据 -

如何插入字符串列表并插入到文档数据库中?

0 投票
1 回答
2119 浏览

c# - 如何在 cosmos db C# 中为一个文档插入项目列表?

退货清单:

插入到文档 db / cosmos db

但它会引发错误:

{“你调用的对象是空的。”}

0 投票
2 回答
756 浏览

linq - CosmosDB - 子文档删除选择 - LINQ 查询

ProductDocument在 CosmosDB 中有一个模型,它代表一个产品。在该模型中有一个子文档contributors,其中包含对产品做出贡献的人。每个贡献者都有一个role.

现在我一直在试验一个需要:

  1. 选择ProductDocument一个contributor.roleDescription作者
  2. ProductDocumentPub 1division中的一个一起选择
  3. 只在结果集中包含contributors带有Authorcontributor.roleDescription的子文档。

现在我正在努力:

  1. 上面选择的第 3 部分。我如何完成这一点,因为我的结果集包括contributor.roleDescription作者和插画

示例 Cosmos 模型:

这是我在Data Explorer中使用的 SQL :

这是我的服务中的 LINQ 查询:

它选择了正确的记录,但是我如何取消选择贡献者的Illustrator子文档,因为目前我得到以下信息:

但以下输出是我想要的,不包括 Illustrator 贡献者子文档:

编辑:

  1. 我想过滤 Product子文档之一是否contributor.roleDescription等于作者。因此,如果产品记录不包括作者贡献者,我不想要它

  2. 我想包括每个contributor等于Author的子文档。因此,如果 a 有多个作者贡献者子文档Product,我想包括它们,但排除Illustrator的。

  3. 你可以有一个ProductDocuments.

  4. 对流利的 LINQ 语法的帮助将有很大帮助。

0 投票
1 回答
2581 浏览

azure - Cosmos DB SQL API - 如何查询使用保留字的字段名称

我正在尝试查询一些文档的集合,其中一个字段恰好被命名为“top”。但是,我不能在 select 语句中直接引用此列,因为名称与 TOP 关键字冲突。例如:

这会引发以下错误 - “语法错误,'top' 附近的语法不正确。”

我可以做些什么来转义这个字段名称,还是我必须将该字段重命名为其他名称?