- 场景 * 我目前正在使用.NET Blazor构建一个网站,其中MongoDB数据库托管在Azure CosmosDB中。我正在遵循以下Microsoft文档页面上的代码示例:https://learn.microsoft.com/en-us/samples/azure-samples/partitionedrepository/repository-pattern-with-azure-cosmos-db-sql-api/
- 问题 * 实现这段代码后,我遇到了以下错误:系统参数为空异常:'值不能为空。(参数'authKeyOrResourceToken|secureAuthKey“)”在以下方法中突出显示:
public static IServiceCollection AddCosmosDb(this IServiceCollection services, Uri serviceEndpoint,
string authKey, string databaseName, List<string> collectionName)
{
var documentClient = new DocumentClient(serviceEndpoint, authKey, new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
DefaultValueHandling = DefaultValueHandling.Ignore,
ContractResolver = new CamelCasePropertyNamesContractResolver()
});
documentClient.OpenAsync().Wait();
var cosmosDbClientFactory = new CosmosDbClientFactory(databaseName, collectionName, documentClient);
cosmosDbClientFactory.EnsureDbSetupAsync().Wait();
services.AddSingleton<ICosmosDbClientFactory>(cosmosDbClientFactory);
return services;
}
更具体地说,行“var documentClient = new documentClient ...“有人知道我做错了什么吗?或者我可以在哪里尝试修复这个问题?任何指导都将不胜感激。
我已经尽我所能地调查了这个问题,从我在网上发现的情况来看,这可能与MongoDB在CosmosDB中使用的API有关,但我不能100%肯定。
1条答案
按热度按时间wqnecbli1#
DocumentClient
是NoSQL
API SDK使用的类型,NoSQL
API SDK用于NoSQL
(以前称为SQL
)API帐户,您链接的文档专门讨论了这一点。这对Mongo API帐户无效。Mongo API帐户旨在用于Mongo驱动程序和SDK。