Обновление автономной синхронизации Azure обновляется при извлечении целых данных во время добавочной синхронизации
У меня есть настольный контроллер, который имеет одностороннюю синхронизацию (только получить, так как с мобильного устройства нет обновлений). Таким образом, в самый первый раз, когда я выполняю PullAsync, он извлекает целые данные, поскольку в моем поле "Обновление в" указана одинаковая временная метка для всех записей. Теперь во второй раз я просто хотел сделать инкрементное извлечение (обратите внимание, я передаю значение имени в PullAsync, чтобы включить инкрементную синхронизацию).
Но проблема в том, что он снова извлекает все данные, поскольку в Update At нет обновленной отметки времени (потому что в Table Controller нет метода обновления, поскольку это односторонняя синхронизация Azure с мобильным устройством). Как я могу пропустить повторную загрузку данных, если обновления не происходит, когда все значения обновления "В" имеют одинаковую отметку времени? Проблема такая же, как упомянуто в ссылке ниже. Нужно ли нам делать одно обновление записи, чтобы это исправить?
Заранее спасибо
1 ответ
Как я могу пропустить повторную загрузку данных, если обновления не происходит, когда все значения обновления "В" имеют одинаковую отметку времени? Проблема такая же, как упомянуто в ссылке ниже. Нужно ли нам делать одно обновление записи, чтобы это исправить?
Я проверил, что эта проблема все еще существует. AFAIK, то PullAsync
операция извлечет 50 записей (по умолчанию MaxPageSize равен 50), затем начнет транзакцию для вставки / обновления извлеченных объектов, а затем обновит локальную __config
таблицу с последним обновленным временным штампом, затем попытайтесь получить записи следующей страницы и снова выполнить описанную выше обработку.
Примечание: формат id
колонка выглядит так deltaToken|{table-name}|{query-id}
,
Запрос на операцию извлечения будет выглядеть так:
https://<app-name>.azurewebsites.net/tables/<table-name>?$filter=(updatedAt ge datetimeoffset'2018-02-21T08:58:45.446Z')&$orderby=updatedAt&$skip=0&$top=50&__includeDeleted=true
Я предполагаю, что вы могли бы запросить местный __config
таблицу, чтобы получить последнее значение updatedAt или запросить соответствующую локальную таблицу, чтобы получить последнее значение updatedAt, затем добавить небольшой интервал времени к текущему updatedAt и явно указать фильтр на UpdatedAt
Свойство с предыдущим обновлением при использовании операции инкрементного вытягивания.