ChangeFeed и чтение всех изменений будущих обновлений документов с текущего времени

В документации говорится, что мы можем Read all changes to future updates to documents from current time. Если для StartFromBeginning установлено значение false, а токен продолжения равен 0, он будет извлекать все документы с момента запроса в будущем? Если система не генерирует много вставок/обновлений, может не быть никаких документов, поэтому она выйдет довольно быстро. В приведенном ниже примере, скажем, после первой итерации while больше нет результатов, если мы спим там в течение периода времени, указанного комментарием, будет ли query.HasMoreResults истинным, если были вставки/обновления?

 new ChangeFeedOptions
 {
    PartitionKeyRangeId = pkRange.Id,
    StartFromBeginning = true,
    RequestContinuation = continuation,
    MaxItemCount = -1
 });

 while (query.HasMoreResults)
 {
    // stuff since the query was initiated
    // will exit if not much
    // if Thread.Sleep() will query.HasMoreResults return true if items were inserted?
 }

person lucuma    schedule 18.01.2017    source источник


Ответы (1)


В документации указано, что мы можем прочитать все изменения будущих обновлений документов с текущего времени. Если для параметра StartFromBeginning установлено значение false, а токен продолжения равен 0, он будет извлекать все документы с момента выполнения запроса?

Насколько я знаю, указав свойство RequestContinuation в 0, что не возвращает изменения с текущего времени. Вы можете установить его на «*», например, RequestContinuation = "*". В этой документации перечислены сценарии инкрементной обработки изменений в коллекциях DocumentDB и заголовки запросов для операций ReadDocumentFeed.

введите здесь описание изображения

person Fei Han    schedule 19.01.2017