azure-cosmosdb - 无法在 2 个 cosmos 容器之间迁移
问题描述
我正在尝试使用 option 在 2 个容器之间迁移数据StartFromBeginning =true
。在迁移时,我还对文档进行了小修改。当我添加这个逻辑时,集合之间的实时同步不起作用。我曾使用将数据从旧容器迁移到新的分区容器,使用更改提要作为参考,这是可行的。部署后似乎没有错误,但是。我怎样才能检查我做错了什么。我还启用了应用程序洞察力。
namespace CosmosContainerMigration.Trigger
{
public class ContainerMigration
{
private IUpdatedDocument updatedDocument;
public ContainerMigration(IUpdatedDocument updatedDocument)
{
this.updatedDocument = updatedDocument;
}
[FunctionName("CosmosContainerMigration")]
public async Task Run([CosmosDBTrigger(
databaseName: "%SourceDatabaseName%",
collectionName: "%ContainerName%",
ConnectionStringSetting = "connectionString",
StartFromBeginning =true,
LeaseCollectionName ="%ContainerLeaseName%",
CreateLeaseCollectionIfNotExists = true)]IReadOnlyList<Document> source,
[CosmosDB(databaseName:"%TargetDatabaseName%",
collectionName:"%ContainerName%",
ConnectionStringSetting = "connectionString")]IAsyncCollector<Document> destination,
ILogger log)
{
log.LogInformation("Documents modified " + source.Count);
foreach (var item in source)
{
try
{
Document updatedItem = await this.updatedDocument.Update(item);
await destination.AddAsync(updatedItem);
}
catch (Exception)
{
log.LogInformation("Failed document ", item.Id);
throw;
}
}
}
}
}
解决方案
推荐阅读
- kubernetes - 通过 EnvoyFilter 添加时,Istio 会去除标题
- bash - 如何在bash的嵌套for循环中打印现有文件的一行?
- php - 在 PHP 中使用 mail() 时遇到问题
- c# - 如何在 datepicker c# wpf 中添加特定的停电日期?
- django - 如何使用 .filter(ifsc_startswith) 获取查询集,其中 ifsc 是输入值,在 django 中?
- firebase - Firebase 托管 CSP 随机数实施
- android - dataBindingMergeDependencyArtifactsDebug while building
- vue.js - 用于 vue.js 中的 javascript 的 epson sdk?
- python - 根据 Pandas 中每天的第一条记录创建数据框
- r - 将数据框列添加到列表列