asp.net 如何在.NET Blazor项目中使用CosmosDB修复“authKeyOrResourceToken值不能为空”错误?

kb5ga3dv  于 2023-02-26  发布在  .NET
关注(0)|答案(1)|浏览(106)
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%肯定。

wqnecbli

wqnecbli1#

DocumentClientNoSQL API SDK使用的类型,NoSQL API SDK用于NoSQL(以前称为SQL)API帐户,您链接的文档专门讨论了这一点。
这对Mongo API帐户无效。Mongo API帐户旨在用于Mongo驱动程序和SDK。

相关问题