我试图遍历一组小文档(每个约6KB),然后将它们向上插入CosmosDB(MongoDB)。我一直遇到文件被随机拒绝的问题-它说文件太大。我的理解是CosmodDB可以处理最大2MB的文档,所以不确定为什么会这样。我在这里想念什么?
我已提交票证,但没有得到Azure支持的回音。这是我正在使用的代码的片段。此代码在连接到MongoDB安装而不是CosmosDB时有效。
public async Task<T> SaveOrUpdateDocument<T>(T document) where T : BaseDocument
{
try
{
document.WhenUpdated = DateTime.Now;
var collection = _context.Database.GetCollection<T>(CollectionName);
ReplaceOneResult replaceOneResult;
if (document.DocumentId.HasNoValue()) document.DocumentId = Guid.NewGuid().ToString();
document.DocumentKey = document.DocumentId;
document.WhenUpdated = DateTime.Now;
replaceOneResult = await collection.ReplaceOneAsync(
x => x.DocumentId == document.DocumentId,
document,
new UpdateOptions { IsUpsert = true });
if (replaceOneResult.IsAcknowledged)
{
return GetDocumentById<T>(document.DocumentId);
}
throw new Exception("Upsert not acknowledged by DB");
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
}