Azure中有一个选项可以从DocumentDB导出现有的集合吗?
我只能看到一个导入选项.
我试图模拟一个返回的调用ResourceResponse<Document>,但我无法实例化该类型.是否有工厂类可以实例化它或其他方式这样做?
编辑
var response = new ResourceResponse<Document>();
类型'Microsoft.Azure.Documents.Client.ResourceResponse'没有定义构造函数
我们有一个目前正在开发的项目,我们使用Azure DocumentDb作为数据存储库.它一直很好,我真的很喜欢它如何工作以及它如何实现快速开发,但最近我们的集成测试已经开始失败.
每次测试运行时,我们的集成测试都会在数据库中创建和拆除集合.我想知道它的这个过程是否以某种方式"破坏"了数据库.
我已经将我们的项目剥离到了它的骨架并在这里检查了它:https://github.com/DamianStanger/DocumentDbDemo
当我运行测试时,我收到以下错误:
System.AggregateException : One or more errors occurred.
----> Microsoft.Azure.Documents.DocumentClientException : Message: {"Errors":["Resource with specified id or name already exists"]}
ActivityId: e273b9d6-b571-43d3-9802-c7d7c819a3f0, Request URI: /apps/c9c8f510-0ca7-4702-aa6c-9c596d797367/services/507e2a70-c787-437c-9587-0ff4341bc265/partitions/ae4ca317-e883-4419-84f9-c8d053ffc73d/replicas/131159218637566393p
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at DocumentDbDemo.Data.AggregateRepository.CreateCollectionIfNotExists() in K:\_code\VisualStudio\DocumentDbPerfTests\DocumentDbDemo.Data\AggregateRepository.cs:line 32
at DocumentDbDemo.Data.AggregateRepository..ctor(ConfigFactory configFactory) in K:\_code\VisualStudio\DocumentDbPerfTests\DocumentDbDemo.Data\AggregateRepository.cs:line 19
at DocumentDbDemo.Data.Tests.AggregateRepositoryTests.ShouldReturnNullIfNotFound() in K:\_code\VisualStudio\DocumentDbPerfTests\DocumentDbDemo.Data.Tests\AggregateRepositoryTests.cs:line 24
--DocumentClientException
Run Code Online (Sandbox Code Playgroud)
由AggregateRepository.cs_client.ReadDocumentCollectionAsync内的调用失败引起的.我不明白.代码中的异常是首先检查集合是否存在(它确实存在),然后如果不存在则会创建它.显然,创建将失败,因为集合存在!
第二种类型的失败是:
System.AggregateException : One or more errors occurred.
----> Microsoft.Azure.Documents.DocumentClientException : Message: {"Errors":["Owner resource does not exist"]} …Run Code Online (Sandbox Code Playgroud) 我使用DocumentDB作为产品,现在我听说没有DocumentDB!微软正在构建这个新的Cosmos DB,它是DocumentDB的超集.我现在真的很困惑.
它只是改变名称还是有更多变化?有人可以对此有所了解吗?
我希望使用cosmosdb来存储以文档为中心的设计中布置的时间序列数据.使用官方的mongodb驱动程序,我试着写一些简单的聚合语句; 但是,我收到的错误表明$ unwind和$ group不受支持.鉴于cosmosdb被吹捧为mongodb的替代品,我错过了一个步骤,或者聚合不是支持的功能.
retrieve.Aggregate().Unwind(i => i.Observations).Group(new BsonDocument {
{"_id", "$Observations.Success"},
{"avg", new BsonDocument{
{"$avg", "$Observations.Duration"}
}}
}).ToList();
Run Code Online (Sandbox Code Playgroud) 如何获取或计算存储在 Cosmos DB 中的文档的大小?
这是否已经存储在文档中?
我想将数组作为参数传递给 SqlQuerySpec,以便在为 azure cosmos db 构建查询时能够在 IN 表达式中使用它。我正在尝试做的事情就像我们对常规(字符串、整数等)参数所做的一样:
private SqlQuerySpec BuildQuery(IEnumerable<string> exclTypes)
{
var queryText = "SELECT * FROM root r WHERE r.Type NOT IN (@types)";
var parameters = new SqlParameterCollection{new SqlParameter("@types", exclTypes.ToArray())};
return new SqlQuerySpec()
{QueryText = queryText, Parameters = parameters};
}
Run Code Online (Sandbox Code Playgroud)
但这不会以这种方式工作。我可以通过任何其他方式将数组作为参数传递吗?谢谢。
我希望将 OData v4 实现为我正在处理的 ASP.NET Core 应用程序中的查询工具,我们的后备持久性存储是 Cosmos DB。到目前为止,我还没有想出一种方法来使 OData 查询针对 DocumentQuery IQueryable 接口运行而不会遇到某种异常或错误。
我想知道是否有一种“干净”的方式来利用 OData 来对抗 Cosmos Document DB(不是 Table API),如果有,如何?到目前为止,我发现的只是一个使用 Framework v4.6 的非官方库,但不是官方库,而且我发现的所有关于实现 OData 的文档几乎都是针对实体框架或内存中数据存储运行的。
尝试使用 MongoDB 连接字符串连接到 Azure CosmosDB 的本地模拟器时mongodb://localhost:C2y6yDjf5%2FR%2Bob0N8A7Cgv30VRDJIWEHLM%2B4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw%2FJw%3D%3D@localhost:10255/admin?ssl=true,我收到以下错误:
{ MongoNetworkError: failed to connect to server [localhost:10255] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:10255]
at Pool.<anonymous> (D:\github\myapp\node_modules\mongodb-core\lib\topologies\server.js:431:11)
at Pool.emit (events.js:189:13)
at connect (D:\github\myapp\node_modules\mongodb-core\lib\connection\pool.js:557:14)
at makeConnection (D:\github\myapp\node_modules\mongodb-core\lib\connection\connect.js:39:11)
at callback (D:\github\myapp\node_modules\mongodb-core\lib\connection\connect.js:261:5)
at TLSSocket.err (D:\github\myapp\node_modules\mongodb-core\lib\connection\connect.js:286:7)
at Object.onceWrapper (events.js:277:13)
at TLSSocket.emit (events.js:189:13)
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
name: 'MongoNetworkError',
errorLabels: [ 'TransientTransactionError' ],
[Symbol(mongoErrorContextSymbol)]: {} }
Run Code Online (Sandbox Code Playgroud)
我已从Microsoft 下载中心安装了最新版本的模拟器(当前为 v2.4.5),并按照Microsoft 文档中的安装说明进行操作
我尝试使用 Mongoose connect 与 Node.js(它与 Azure 云配置完美配合)以及使用 …
我正在使用 .NET CoreGraphQL和.NET Core 构建一个 Web API DocumentDb。
理论上,GraphQL优化数据通过网络传输,从而避免过度获取数据。但是我认识到后端服务器和数据库在查询数据库时正在做额外的不必要的工作(查询整个文档)。
这里最好的策略是使用Select()我们需要获取的特定属性。但我不知道如何从如此复杂的客户查询中构建表达式。
任何帮助真的很感激。
谢谢
azure-cosmosdb ×10
azure ×7
c# ×6
mongodb ×2
.net-core ×1
asp.net-core ×1
graphql ×1
javascript ×1
linq-to-sql ×1
moq ×1
odata ×1
sql ×1