问题标签 [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 回答
591 浏览

azure - Azure cosmos db 在 c# 代码中的 RequestContinuation 中提供转义字符

这里tokenmaxItemCount是参数。

上面的查询在下面用作IQueryable<T>查询。

收到带有 excape 字符串的令牌。

提前致谢。

0 投票
1 回答
303 浏览

azure-cosmosdb - 问题将 0.0 保存到 cosmosdb double 到 int

使用 cosmosdb 作为存储我遇到了一个问题。我保存了一个对象,其中一个属性设置为 0.0(尝试使用双精度、十进制和浮点数)。后来检索到该值时,它是 0,而不是精度 0.0。如果我将它设置为 0.1 或 2.1 之类的东西,一切都会按我预期的那样工作。

有人可以解释为什么会这样吗?对于我的数据的使用,我需要它是 0.0。

此致

0 投票
1 回答
1170 浏览

azure - 将数据从 SQL 数据库迁移到 Azure Cosmos DB 模拟器时,Cosmos 数据迁移工具引发错误

我正在尝试将数据从 SQL 数据库导入到 Cosmos Db,但由于服务当前不可用,它会引发错误。我不知道为什么它会显示此错误。Azure Cosmos DB 模拟器也已开启。错误如下

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

$ Microsoft.Azure.Documents.ServiceUnavailableException:服务当前不可用。ActivityId:9b40c18a-28ed-4945-b356-abaac18a1139 ---> Microsoft.Azure.Documents.GoneException:请求的资源在服务器上不再可用。ActivityId: 9b40c18a-28ed-4945-b356-abaac18a1139 在 Microsoft.Azure.Documents.StoreReader.d__5.MoveNext() --- 堆栈跟踪从先前抛出异常的位置结束---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo .Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Azure.Documents.QuorumReader.d__26.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪---在System.Runtime.CompilerServices 处的 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()。1.<>c__DisplayClassd1.<b__c>d__f.MoveNext() --- 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)在 Microsoft.Azure.Documents.BackoffRetryUtility 1.<ExecuteRetry>d__16.MoveNext() --- End of inner exception stack trace --- at Microsoft.Azure.Documents.BackoffRetryUtility1.d__16.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System. Microsoft.Azure.Documents.BackoffRetryUtility 上的 Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)1.<ExecuteAsync>d__121.MoveNext() --- 从先前引发异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 的 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 Microsoft .Azure.Documents.ReplicatedResourceClient.d__7.MoveNext() --- 在 System.Runtime.CompilerServices.TaskAwaiter 的 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 处从先前引发异常的位置结束堆栈跟踪。 Microsoft.Azure.Documents.StoreClient.d__0.MoveNext() 处的 HandleNonSuccessAndDebuggerNotification(Task task) --- 从先前引发异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System .Runtime.CompilerServices.TaskAwaiter。Microsoft.Azure.Documents.Client.DocumentClient.d__2e9.MoveNext() 处的 HandleNonSuccessAndDebuggerNotification(Task task) --- 从先前引发异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 Microsoft.Azure.Documents.Query.DocumentQueryClient.d__a.MoveNext() --- 堆栈跟踪从先前抛出异常的位置结束---在 System. Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 Microsoft.Azure.Documents.Query.DocumentQueryExecutionContextBase.d__11。MoveNext() --- 从先前引发异常的位置结束堆栈跟踪 --- 在 Microsoft.Azure 的 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 的 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() .Documents.Query.DocumentQueryExecutionContextBase.d__e.MoveNext() --- 在 System.Runtime.CompilerServices.TaskAwaiter 的 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 处从先前引发异常的位置结束堆栈跟踪。 Microsoft.Azure.Documents.Query.DefaultDocumentQueryExecutionContext.d__3.MoveNext() 处的 HandleNonSuccessAndDebuggerNotification(Task task) --- 从先前引发异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()在 System.Runtime。Microsoft.Azure.Documents.BackoffRetryUtility 上的 CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)1.<>c__DisplayClass2.<<ExecuteAsync>b__1>d__4.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Azure.Documents.BackoffRetryUtility1.d__16.MoveNext() --- 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 的 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 上的异常抛出位置结束堆栈跟踪在 Microsoft.Azure.Documents.BackoffRetryUtility 1.<ExecuteAsync>d__7.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Azure.Documents.Query.DocumentQueryExecutionContextBase.<ExecuteWithRetryPolicy>d__1b.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Azure.Documents.Query.DefaultDocumentQueryExecutionContext.<ExecuteInternalAsync>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Azure.Documents.Query.DocumentQueryExecutionContextBase.<ExecuteNextAsync>d__4.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Azure.Documents.Linq.DocumentQuery1.d__171.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.DataTransfer.DocumentDb.Client.DocumentQueryExtensions.<FirstOrDefault>d__01.MoveNext() in f:_Bld\12470\6357\Sources_repo\DocumentDb\Microsoft.DataTransfer.DocumentDb\Client\DocumentQueryExtensions.cs:line 0 --- 堆栈跟踪从上一个引发异常的位置结束---在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 Microsoft.DataTransfer.DocumentDb.Client.DocumentDbClient.d__26.MoveNext() 在 f:_Bld\12470\6357\ Sources_repo\DocumentDb\Microsoft.DataTransfer.DocumentDb\Client\DocumentDbClient.cs:第 185 行 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 处从引发异常的先前位置结束堆栈跟踪。 Microsoft.DataTransfer 上的 Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)。DocumentDb.Client.DocumentDbClient.d__2.MoveNext() in f:_Bld\12470\6357\Sources_repo\DocumentDb\Microsoft.DataTransfer.DocumentDb\Client\DocumentDbClient.cs:line 46 --- 堆栈跟踪从先前位置结束异常被抛出 --- 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 Microsoft.DataTransfer.DocumentDb.Sink.Parallel.DocumentDbParallelSinkAdapter.d__0.MoveNext() 的 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() f:_Bld\12470\6357\Sources_repo\DocumentDb\Microsoft.DataTransfer.DocumentDb\Sink\Parallel\DocumentDbParallelSinkAdapter.cs:line 0 --- 在 System.Runtime 处从先前引发异常的位置结束堆栈跟踪。 System.Runtime.CompilerServices.TaskAwaiter 处的 ExceptionServices.ExceptionDispatchInfo.Throw()。HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.DataTransfer.DocumentDb.Sink.Parallel.DocumentDbParallelSinkAdapterInternalFactory.d__0.MoveNext() in f:_Bld\12470\6357\Sources_repo\DocumentDb\Microsoft.DataTransfer.DocumentDb\Sink\Parallel\DocumentDbParallelSinkAdapterInternalFactory.cs:第 30 行 --- 从先前引发异常的位置结束堆栈跟踪 --- 在 Microsoft.DataTransfer 的 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 的 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()。 Core.Service.DataTransferService.d__9.MoveNext() in f:_Bld\12470\6357\Sources_repo\Core\Microsoft.DataTransfer.Core\Service\DataTransferService.cs:line 70 --- 堆栈跟踪从先前位置结束异常被抛出 --- 在 System.Runtime。ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.DataTransfer.WpfHost.Steps.Import.ImportStep.d__8.MoveNext() in f:_Bld\12470\6357\Sources_repo\ Wpf\Microsoft.DataTransfer.WpfHost\Steps\Import\ImportStep.cs:第 73 行

0 投票
2 回答
3722 浏览

c# - 在 CosmosDb 上的 Linq.Where() 中使用 Linq.Any()

我正在尝试在子句中嵌套一个.Any().Where()查询本地 CosmosDb 模拟器。

代码如下所示;其中permittedStundentIds是变量 ( List<long>) 并且aDocumentCosmosDb 中的

当我执行查询时,我收到错误:

不支持方法“任何”。ActivityId:800000a8-0002-d600-b63f-84710c7967bb,documentdb-dotnet-sdk/1.22.0 主机/64位MicrosoftWindowsNT/10.0.16299.0

我尝试了多种变体来获得等效的表达式,但无济于事。唯一有效的方法是.Contains()对学生索引进行硬编码;这是不可行的,因为学生人数可能不知道。

我确实了解 CosmosDb 的 Sql API 尚不支持某些 lambda 扩展,但是有解决方法吗?

0 投票
1 回答
1829 浏览

azure-cosmosdb - Cosmos DB 存储过程、UDF 和可重用代码 - 它们如何组合在一起?

我有很多问题:)

我已经开始使用 Cosmos DB (SQL API)。爱它!

但我正在努力寻找构建和管理代码的最佳方式。我正在使用 Visual Studio。

这是一些代码,我将根据这 4 个 javascript 函数提出问题:

在我的解决方案中,这 4 个函数位于 4 个不同的 .js 文件中。我会将前 3 个部署为我的集合中他们自己的用户定义函数。最后,我将部署为存储过程。

我的应用程序将执行“processYay”存储过程来执行一些操作。UDF 是支持性的。

问题:

  1. 我可以直接从存储过程中调用 UDF,就像我在上面的“processYay”中所做的那样吗?或者它们只能作为查询的一部分访问?
  2. 我可以像在“createYayDoc”中那样从另一个 UDF 调用 UDF 吗?
  3. UDF 可以“抛出”还是在这种情况下被认为是副作用?

如果答案是“nope”、“nope”和“nope”,似乎还有另一种解决方案:在存储过程本身内部定义函数。它会像这样完美地工作:

但是之后...

如何重用代码?

我的 javascript 位于 .NET 类库中。我喜欢“#include”技巧:)。我是否与 webpack 等一起破解某些东西?

或者......人们使用一些公认的方法吗?

0 投票
2 回答
1670 浏览

azure-cosmosdb - Azure Cosmos DB (SQL API) 中非常简单的查询的高请求费用

在 Azure Cosmos DB (SQL API) 中,以下查询收取9356.66 RU 的费用:

相比之下,以下更复杂的查询仅收取6.84 RU 的费用:

这两个示例中的文档都非常小,具有少量属性。此外,文档集合不使用任何自定义索引策略。该集合包含 105685 个文档。

对我来说,这听起来好像“id”字段上没有正常工作的索引。

这怎么可能,如何解决?

更新:

  • 如果没有 TOP 关键字,第二个查询会收取 3516.35 RU 的费用并返回 100000 条记录。
  • 分区键为“/partition”,其值为 0 或 1(均匀分布)。
0 投票
0 回答
91 浏览

azure - cosmosdb CreateDocumentChangeFeedQuery ChangeFeedOption StartTime 不返回文档

我正在尝试获取自上次运行以来更改的文档。当我设置 ChangeFeed 选项 StartTime 时,我没有得到任何行。当我设置 StartFromBeginning 时,我正在获取文档。

var temp = query.ExecuteNextAsync().GetAwaiter().GetResult();

0 投票
1 回答
765 浏览

c# - 在单个查询中从 CosmosDb 中获取多种类型的实体

我正在尝试使用 sql API 从 CosmosDb 中的集合中获取所有类型的实体。但我只得到BaseClass实体而不是特定的类实体。

这是我的模型:

这是当前的查询:

我最终得到的是一个List<ActivityBase>.

我需要的是一个List<ActivityBase>包含特定实体的RunningDancing而不仅仅是基类对象。有没有办法在查询本身中指定它?

0 投票
0 回答
56 浏览

azure-cosmosdb-sqlapi - 使用 IN 子句参数化 CosmosDB 查询

我正在寻找任何工作方式来参数化查询中的 IN 子句。我已经尝试过这样的事情,但没有工作。

为了创建这个"(@Shipper0, @Shipper1)",做了一些 c# 编码。没有参数相同的查询工作正常。

工作查询:==>

提前致谢。

0 投票
1 回答
1331 浏览

c# - 查询 Azure Cosmos DB 时并非所有属性都已映射

我希望将 Azure CosmosDB 集成到我们的项目中。我为自己设定的目标是创建一个常见问题解答部分。我已经创建了表格,还添加了三个带有一些示例数据的集合。但是,在查询时,我可以看到并非所有属性都是从 JSON 开始映射的,因此我的查询没有给出任何结果。

我的模型类看起来像这样;

基础文档数据库实体

常见问题组

常见问题解答部分

FAQ问题

我知道 CosmosDB 不是关系数据库类型。但是,如果我正确理解这篇文章,它应该是有可能的。

我的示例数据像这样存储在 CosmosDB 中;

团体:

部分:

问题:

我在 microsoft 文档中使用这篇文章作为参考。但我无法弄清楚为什么有些属性被填充而有些则没有。这就是我从我的存储库中得到的;

在此处输入图像描述

GroupId 和 Title 字段都不包含任何数据。我无法理解它。感觉很明显。有人知道吗?

更新

更新 2