我正在尝试将我的项目从
DocumentDbClient
升级到 CosmosClient
。在现有代码中,我有类似以下的客户端方法: CreateDocumentAsync(), CreateDocumentQuery(), and UpsertDocumentAsync()
可用,但是当将客户端更新为 CosmosClient
时,我没有任何可用的方法。进行此迁移的最简单方法是什么?在新的 CosmosClient
中我对这些方法有哪些替代方案。这是使用 DocumentDbClient
的现有示例方法,我想迁移并使用 CosmosClient
来代替:
private async Task<ResourceResponse<Document>> UpsertStoreItemToDocumentDb(
Uri collectionUri,
TSt storeType,
RequestContext requestContext)
{
var client = await GetClient(requestContext);
return await client.UpsertDocumentAsync(collectionUri, storeType)
.TrackDiagnosticData(
sourceName: () => ApiProviderSettings.Name,
actionName: () => $"Upsert-{SourceMapping.ResourceDescription.Name}");
}
我确实看到使用
client.GetContainer()
然后做 createItemAsync
和 UpsertItemAsync
但在走这条路之前只想知道是否有人已经这样做过,什么是简单的方法来做到这一点。谢谢!
正如我在问题本身中提到的,GetContainer() 可用,然后我可以使用 CreateItemAsync()、UpsertItemAsync() 等。事实证明,根据迁移指南,这也是正确的路线,这就是要走的路。谢谢!
我在将v2升级到v3时遇到了类似的问题,然后我发现了这篇文章https://elcamino.cloud/articles/2019-11-05-cosmos-net-sdk-v3-upgrade-guide-and -tips.html,
希望这也能帮助你。