Azure Cosmos DB изменить канал, повторите конкретный документ - PullRequest
0 голосов
/ 16 ноября 2018

Мы используем ленту изменений Cosmos DB для решения некоторых наших требований. Хотел понять, есть ли какой-либо механизм повтора в канале изменений. Например, если я получаю партию из 10 документов, а третий по какой-то причине не может быть обработан, могу ли я повторить только третье сообщение?

Существует три способа потребления смены корма:

  1. Функции Azure - для этого не предусмотрен механизм повторной попытки муравья.

  2. Изменить библиотеку обработчиков каналов - если при обработке пакета документов возникнет какая-либо исключительная ситуация, все они будут воспроизведены снова.

  3. SQL API SDK Azure Cosmos DB - не рассматривал это подробно. Но у нас есть полный контроль над контрольными точками, поэтому мы можем, вероятно, воспроизвести, начиная с сообщения об ошибке.

Мне еще предстоит найти вариант, чтобы повторить только сообщения с ошибками из пакета сообщений.

1 Ответ

0 голосов
/ 16 ноября 2018

В настоящее время такого механизма нет, но было бы неплохо иметь его. может помочь только *1001* - использовать ручную контрольную точку (CheckpointFrequency в ChangeFeedProcessorSettings, ChangeFeedObserverContext.CheckpointAsync ()). Но учтите, что даже при ручной проверке контрольных точек атомная единица остается партией.

...