问题标签 [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.
azure-cosmosdb - 建模文档数据和查询性能
我有一个 aggerate 数据模型(认为一个带有属于它们的小部件的客户实体作为嵌入实体的列表)。
当我搜索客户(例如 DocumentDBRepository.GetItemsAsync)时,这将为客户数据模型以及每个小部件提供水合。出于效率原因,我真的不需要客户搜索来考虑小部件。
在文档数据库(例如“LiteCustomer”实体)中是否有任何策略?我怀疑这不仅仅是我一开始就告诉它存储的“无模式”数据的性质,而是有兴趣听听想法。
这仅仅是一个“非问题”吗?
azure - 如何部署 Comsos Db 存储过程
我有一个 Azure Cosmos DB 存储过程,我希望它包含在我的持续集成脚本中,以便在部署数据库时与解决方案一起部署。我正在使用 VSTS 来处理我的部署。我猜我必须使用 powershell 脚本来部署版本中的存储过程。有没有关于如何将存储过程与 cosmos dbs 一起部署的好例子?
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
}
这如何让我接近找出分区键是什么?
azure-cosmosdb - 查询 Cosmos 嵌套 JSON 文档
我想把这个结果集
进入这个
我可以通过使用类似的查询来接近
但是,我最终得到
如何使用 SQL API 将每个值转换为单个 JSON 片段?
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 函数利用了新的客户端和发生错误的地方。
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。欢迎任何提示。
c# - 如何将字符串列表从 Sql 数据插入 Document Db / cosmos db?
我有 sql 数据库表并且select query
正在获取数据并希望将该数据插入到文档数据库中。
我试过如下 -
我可以使用以下代码获取 sql 数据 -
如何插入字符串列表并插入到文档数据库中?
c# - 如何在 cosmos db C# 中为一个文档插入项目列表?
退货清单:
插入到文档 db / cosmos db
但它会引发错误:
{“你调用的对象是空的。”}
linq - CosmosDB - 子文档删除选择 - LINQ 查询
我ProductDocument
在 CosmosDB 中有一个模型,它代表一个产品。在该模型中有一个子文档contributors
,其中包含对产品做出贡献的人。每个贡献者都有一个role
.
现在我一直在试验一个需要:
- 只选择
ProductDocument
一个contributor.roleDescription
作者 - 仅
ProductDocument
与Pub 1division
中的一个一起选择 - 只在结果集中包含
contributors
带有Authorcontributor.roleDescription
的子文档。
现在我正在努力:
- 上面选择的第 3 部分。我如何完成这一点,因为我的结果集包括
contributor.roleDescription
作者和插画家
示例 Cosmos 模型:
这是我在Data Explorer中使用的 SQL :
这是我的服务中的 LINQ 查询:
它选择了正确的记录,但是我如何取消选择贡献者的Illustrator子文档,因为目前我得到以下信息:
但以下输出是我想要的,不包括 Illustrator 贡献者子文档:
编辑:
我想过滤
Product
子文档之一是否contributor.roleDescription
等于作者。因此,如果产品记录不包括作者贡献者,我不想要它我想包括每个
contributor
等于Author的子文档。因此,如果 a 有多个作者贡献者子文档Product
,我想包括它们,但排除Illustrator的。你可以有一个
ProductDocuments
.对流利的 LINQ 语法的帮助将有很大帮助。
azure - Cosmos DB SQL API - 如何查询使用保留字的字段名称
我正在尝试查询一些文档的集合,其中一个字段恰好被命名为“top”。但是,我不能在 select 语句中直接引用此列,因为名称与 TOP 关键字冲突。例如:
这会引发以下错误 - “语法错误,'top' 附近的语法不正确。”
我可以做些什么来转义这个字段名称,还是我必须将该字段重命名为其他名称?