C# 从Microsoft.Azure.DocumentDb迁移到Microsoft.Azure.Cosmos以进行数据访问。并非所有选项都可用
我正在将通过Microsoft.Azure.DocumentDB v2.7.0访问CosmosDB的代码库迁移到使用Microsoft.Azure.Cosmos v3.2.0的方法中。在此过程中,NuGet软件包“Microsoft.Azure.DocumentDB v2.7.0”已替换为“Microsoft.Azure.Cosmos v3.2.0” 几乎所有的代码都已迁移,以使用新NuGet中提供的组件,如下所示C# 从Microsoft.Azure.DocumentDb迁移到Microsoft.Azure.Cosmos以进行数据访问。并非所有选项都可用,c#,azure,azure-cosmosdb,C#,Azure,Azure Cosmosdb,我正在将通过Microsoft.Azure.DocumentDB v2.7.0访问CosmosDB的代码库迁移到使用Microsoft.Azure.Cosmos v3.2.0的方法中。在此过程中,NuGet软件包“Microsoft.Azure.DocumentDB v2.7.0”已替换为“Microsoft.Azure.Cosmos v3.2.0” 几乎所有的代码都已迁移,以使用新NuGet中提供的组件,如下所示 SqlQuerySpec:QueryDefinition DocumentCl
- SqlQuerySpec:QueryDefinition
- DocumentClient:CosmosClient
- DocumentClientException:CosmosException
- query.ExecuteNextAsync():query.ReadNextAsync()
ConnectionPolicy
类来配置连接属性,如下所示
var policy = new ConnectionPolicy()
{
EnableEndpointDiscovery = true,
EnableReadRequestsFallback = true,
ConnectionMode = connectionMode,
ConnectionProtocol = Protocol.Http,
UseMultipleWriteLocations = useMultipleWriteLocations
};
有谁能帮我找到如何在
Microsoft.Azure.Cosmos
命名空间中设置类似的属性,如EnableEndpointDiscovery
,EnableReadRequestsFallback
,ConnectionProtocol
?我只能使用CosmoClientOptions.ApplicationRegion
属性设置区域。包Microsoft.Azure.Cosmos
是否未提供Microsoft.Azure.DocumentDb
用于提供的所有定制?请导游 您提到的属性可能已被弃用,并替换为它们的true
默认值。我不确定是否存在您不希望EnableEndpointDiscovery
或enableReadRequestsCallback
设置为true的用例。
在下一版本中有一些新的选项可能与thouhg有关。见第814页
至于连接模式,我认为当使用
ConnectionMode.Direct
时,您使用的是TCP,当使用ConnectionMode.Gateway
时,您将根据提供的帐户端点使用Http。有关ConnectionMode,请参阅CosmoClientOptions中的ConnectionMode:
ConnectionProtocol将相应地自动设置
不再需要UseMultipleWriteLocations,因为SDK将自动检测帐户上的功能
EnableEndpointDiscovery在默认情况下为true,将其设置为true没有任何区别,您是否出于某种特殊原因设置了它?EnableReadRequestsFallback也是如此