У нас возникла странная проблема с подписчиком канала изменений, который не собирает новые записи после повторного развертывания базы данных cosmos в другом сервисе. Мое предположение заключалось в том, что когда канал не работает, он затем возобновит работу с того места, где он остановился, когда контейнер снова станет доступен? с конфигурацией фида?
Чтобы добавить немного контекста, удаление и воссоздание контейнеров вручную, кажется, решает проблему, поэтому она кажется связанной с развертыванием?
Это то, что наша конфигурация фида изменений выглядит так.
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();