linq - 对集合使用 linq 操作时,GraphBulkImport 库中的 CreateDocumentCollectionQuery 方法出错
问题描述
我在 .net Standard 2.0 项目中使用 CosmosDB>BulkExecutor nuget 使用批量执行器的这个 nuget(最新的预发布版本 2.4.1 预览版)参考链接,它说它支持 .net standard 2.0 但是在执行 linq 时出错对集合的操作
“One or more errors occurred. (, Request URI: /, RequestStats: , SDK: Windows/10.0.18363 documentdb-netcore-sdk/2.4.0)”
以下是代码片段:
var dburi = UriFactory.CreateDatabaseUri(databaseId); var collection = client.CreateDocumentCollectionQuery(dburi); var container = collection.Where(c => c.Id.Equals(containerId)).AsEnumerable().FirstOrDefault(); 返回容器;
在上面的第 3 行中执行 linq 操作 where 和 First 时会引发错误。
以下是该库的部分堆栈跟踪:
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at Microsoft.Azure.Documents.Linq.DocumentQuery`1.<GetEnumerator>d__31.MoveNext()
at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Boolean& found)
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
这个 nuget 文档链接也让 Graph 感到困惑,因为它说如果您使用“批量执行器”,请使用 V3 版本,并且看起来这个 V3 版本不支持 Graph API。所以不确定如何在 cosmosdb 中使用 GraphBulkImport。
解决方案
问题出在我的 SDK url 配置中。这是不正确的。更改为正确的 SDK url 后,我不再收到此错误。感谢回复的人。
有一条消息说内部异常中有 InternalSErver 错误,这让我重新检查了 url,但是一条更好的消息说连接到源有问题会更有帮助
推荐阅读
- javascript - 对云函数的 Javascript 请求
- arrays - pool.map() 中的部分函数
- loops - C# for while 循环错误
- reactjs - 与使用 react-select 的列表中的选项相比,如何以不同的方式呈现所选选项
- java - Gradle 7 创建一个胖罐子
- sql - SQLite FOREIGN KEY REFERENCE 导致语法错误
- node.js - 识别是否部署在移动应用程序或 Web 应用程序上的环境变量?
- amazon-web-services - AWS DynamoDB 分区键设计
- php - 如果购物篮已满,则禁用其他产品
- c++ - 带有#pragma 的clang-check 头文件一旦导致重新定义错误