【问题标题】:Azure Offline Sync Updated At pulls whole data during the Incremental SyncAzure 离线同步更新于在增量同步期间拉取整个数据
【发布时间】:2018-03-06 17:13:57
【问题描述】:
【问题讨论】:
标签:
c#
azure
xamarin
azure-mobile-services
azure-data-sync
【解决方案1】:
如果没有更新,而所有 Update At 值都是相同的时间戳,我该如何省略再次提取数据?该问题与以下链接中提到的相同。为了解决这个问题,我们还需要更新一次记录吗?
我已检查此问题是否仍然存在。 AFAIK,PullAsync 操作将提取 50 条记录(MaxPageSize 默认为 50),然后开始一个事务以插入/更新检索到的实体,然后使用最新的 updatedAt 时间戳更新本地 __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 使用增量拉取操作时的属性与之前的 updatedAt 相同。