问题标签 [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 投票
0 回答
135 浏览

azure-cosmosdb - 在 Cosmos DB 中后处理文档的最快方法

我想使用 Mongo 或 SQL API 将文档保存到 Cosmos DB。

我需要计算某种自动递增的字段,以便我可以根据该字段对文档进行排序。我们称该字段为“DocumentOrder”。

但是,计算字段不必阻塞插入事务。插入文档应该尽可能快,这里不需要原子性。

对插入的文档进行后处理以计算字段的最佳选择是什么,以便插入和更新计算字段之间的延迟尽可能小。

触发 Azure 功能?网络作业?CosmosDB PostTrigger?

要求是:

  1. 它必须是可靠的——每个文件最终都必须经过后期处理。
  2. 它必须以确定的顺序发生,因此计算值 DocumentOrder=1 的文档将在 DocumentOrder=2 的文档之前保存。

我想达到什么目的?最后,我需要一个查询,该查询将始终以相同的顺序返回文档,大约与插入时的顺序相同。

0 投票
0 回答
676 浏览

c# - Cosmos DB 查询指标

我对 Cosmos DB API 返回的 QueryMetrics 有疑问。

根据 Azure Portal,我的数据库中有 5 个分区。我PopulateQuery=trueFeedOptions查询 CosmosDB 以确认和检查昂贵的查询时进行设置。因为它是一个SELECT *查询,所以我期望每个分区返回 5 个查询指标,每个分区具有正确的分区 ID。

我确实得到了 5 个不同的查询指标,但每个指标都有相同的 partitionId。

这是错误还是我做错了什么。请参见下面的示例。

数据按 ID 分区。该 ID 不是查询的一部分。

上述查询中所有 5 次的 PartitionID 都是 0。但所有其他指标都不同。

这不应该是 0、1、2、3、4。

0 投票
1 回答
580 浏览

azure - 执行存储过程时 Cosmos DB 内存不足异常

我正在使用 Azure Cosmos DB SQL API。我已经编写了存储过程将获取数据并保留在响应 API 提要中。

无法执行集合 iotcollection 的存储过程 testProcedure: {"code":400,"body":"{\"code\":\"BadRequest\",\"message\":\"Message: {\\"Errors \\":[\\"执行函数时遇到异常。Exception = Error: Out of memory\\r\\nStack trace: undefined\\"]}\r\nActivityId: c286cbb6-34c1-4929-a148-915544b20ce6, Request URI: /apps/59d3b9ef-17ca-4bbf-8a11-39d0199a8d29/services/1b26e00f-1f51-4d34-88ec-4090b8e7db00/partitions/45a313b7-2cf2-419e-9885-48bf9cfe6277/replicas/131862936473830809p/, RequestStats: \r\ nRequestStartTime:2018-11-10T05:46:36.4852333Z,尝试的区域数:1\r\n,SDK:Microsoft.Azure.Documents.Common/2.1.0.0\"}","activityId":"c286cbb6-34c1 -4929-a148-915544b20ce6"}

我的存储过程非常简单,我只是想看看在给定时间我可以从 cosmos DB 中获取多少记录并作为响应发送。

0 投票
1 回答
441 浏览

azure-cosmosdb - 同一 Azure Cosmos DB 一次运行其他时间显示消息大小太大

我正在 azure 门户中编写 Azure Cosmos DB 存储过程,我正在检查它最初可以给出的最大响应大小是多少,后来它给了我 4.8 MB 响应,任何大小都显示消息大小太大的错误。稍后在 5 分钟后执行相同的程序和相同的参数,它显示页面尺寸过大的错误。

和错误

无法执行集合 iotcollection 的存储过程 testProcedure: {"code":400,"body":"{\"code\":\"BadRequest\",\"message\":\"Message: {\\"Errors \\":[\\"执行函数时遇到异常。异常 = 错误:由于 \\\\"Body\\\\",结果消息会太大。从脚本返回当前消息并使用继续令牌调用再次脚本或修改您的脚本。\\r\\n堆栈跟踪:错误:结果消息将因 \\\\"Body\\\\" 而太大。从脚本返回当前消息并使用延续令牌调用再次脚本或修改您的脚本。\\n at validateSize (bulkUpsert_v_1_0.js:177:25)\\n at setValueInternal (bulkUpsert\\"]}\r\nActivityId:d61226ab-4d5e-4a3d-aa09-83351649ce4c, Request URI: /apps/59d3b9ef-17ca-4bbf-8a11-39d0199a8d29/services/1b26e00f-1f51-4d34-88ec-4090b8e7db00/partitions/45a313b7-2cf2-419e-9885-48bf9cfe6277/ replicas/131862936473830809p/,RequestStats:\r\nRequestStartTime:2018-11-10T06:41:26.3320532Z,尝试的区域数:1\r\n,SDK:Microsoft.Azure.Documents.Common/2.1.0.0\"} ","activityId":"d61226ab-4d5e-4a3d-aa09-83351649ce4c","substatus":413}}","activityId":"d61226ab-4d5e-4a3d-aa09-83351649ce4c","substatus":413}}","activityId":"d61226ab-4d5e-4a3d-aa09-83351649ce4c","substatus":413}

0 投票
1 回答
786 浏览

azure - Azure Cosmos DB 更改源重试特定文档

我们正在使用 Cosmos DB 更改源来解决我们的一些需求。想了解更改提要中是否有任何重试机制。例如,如果我收到一批 10 个文档,但由于某种原因无法处理第 3 个文档,我可以只重播第 3 个消息吗?

使用更改提要的三种方式:

  1. Azure Functions - 没有看到 ant 重试机制。

  2. 更改提要处理器库 - 如果在处理一批文档时出现任何异常,则会重新重播所有文档。

  3. Azure Cosmos DB SQL API SDK - 尚未对此进行详细探讨。但是我们可以完全控制检查点,所以我们可以从失败的消息开始重播。

我还没有找到一个选项来重试一批消息中的失败消息。

0 投票
3 回答
1184 浏览

azure - 我正在更改 Cosmos DB 的索引,但它没有按预期工作

我正在使用 Azure SQL API,我的数据结构如下:

通过使用 Azure 门户,我将索引策略从默认更改为以下:

据此,我禁用了自动索引策略并排除了路径,/data/* 这意味着如果我要查询:

它不应该返回任何东西给我,因为没有索引c.data.pressure,但我得到了所有应该在其中的记录。

是因为我使用 Azure 门户来更改索引还是其他什么?

0 投票
1 回答
218 浏览

azure-cosmosdb - 如何在 Azure 搜索数据源中传递 SP

我在文档数据库的一个分区中有 2 个文档。如何合并这 2 个文档并准备一份可以作为 Azure 搜索服务的数据源发送的文档。

我通过存储过程找到了一种方法,我们可以合并 2 个文档。现在我面临一个困难的情况。我们可以在 Azure 搜索数据源的查询部分使用存储过程吗?

0 投票
1 回答
86 浏览

c# - 如何从 CosmosDB 中的所有文档中获取 UNIQUE 类别?

我在 CosmosDB 中有数百万个使用 SQL API 的文档,我需要从所有文档中找到唯一的类别。

文档如下所示,您可以在描述下方看到类别数组,我不关心它们的顺序我只需要知道集合中所有文档中所有唯一的,我需要这个以便稍后我可以在类别上创建查询,但这是一个稍后的问题,我首先需要将它们全部列出,以便我知道所有可能的选项是什么,但我无法弄清楚执行此操作的查询,因此我只能获得类别名称。

0 投票
0 回答
454 浏览

azure - Azure Cosmos DB 模拟器中的数据资源管理器

我在本地系统(Windows 2012 R2 Server)中安装了最新版本的 Azure Cosmos DB 模拟器 2.1.2,但是当我尝试浏览资源管理器选项卡时,所有按钮都被禁用。我无法创建任何新集合。请检查以下屏幕截图

Azure Cosmos DB 模拟器错误

这是我得到的错误消息

0 投票
1 回答
437 浏览

nosql - Cosmos DB - 固定集合的分区键

有人可以建议如何使用逻辑分区键创建固定集合(吞吐量 - 400 RU)吗?可能吗?为了将来轻松迁移到无限收藏,这对我来说是必要的。

谢谢。