0

在将 cosmos db 重新部署到不同的服务中后,我们遇到了一个奇怪的问题,即更改提要订阅者没有获取新记录。我的假设是,当饲料停止时,一旦容器再次可用,它就会从停止的地方重新开始?

很想知道是否有其他人以前见过这种行为,或者它是否可能与提要的配置有关?

添加一些上下文手动删除和重新创建容器似乎可以解决问题,所以它似乎与部署相关?

这就是我们的更改提要配置的样子。

 var changeFeedProcessorBuilder = (await _cosmosProvider
                .GetContainer(_config.DatabaseName, _config.SourceContainerName))
                .GetChangeFeedProcessorBuilder<CosmosAggregateEventEntity>(_projector.Name, OnMessage)
                .WithInstanceName($"Processor{Guid.NewGuid().ToString().Replace("-", string.Empty)}")
                .WithLeaseContainer(await _cosmosProvider.GetContainer(_config.DatabaseName, CosmosChangeFeedConfiguration.LeaseContainerName, "/id"))
                .WithStartTime(DateTime.MinValue.ToUniversalTime());

            if (_defaultPollingTimeOverride != null)
                changeFeedProcessorBuilder.WithPollInterval((TimeSpan)_defaultPollingTimeOverride);

            _processor = changeFeedProcessorBuilder.Build();

            await _processor.StartAsync();
4

0 回答 0