Azure 离线同步更新时间在增量同步期间拉取全部数据

Azure Offline Sync Updated At pulls whole data during the Incremental Sync

我有一个 table 控制器,它具有单向同步功能(因为没有来自移动设备的任何更新,所以只能获取)。因此,当我第一次执行 PullAsync 时,它提取了整个数据,因为我的 Update At 归档对所有记录具有相同的时间戳。现在我第二次只想进行增量拉取(注意我确实将名称值传递给 PullAsync 以启用增量同步)。

但问题是,它会再次检索整个数据,因为在 Updated At 中没有更新的时间戳(因为 Table 控制器中没有更新方法,因为它是单向同步-Azure 到移动的)。如果没有更新,而所有更新时间值都具有相同的时间戳,我该如何再次省略拉取数据?该问题与下面 link 中提到的相同。我们是否仍需要执行一次记录更新才能解决此问题?

https://social.msdn.microsoft.com/Forums/office/en-US/ff002e85-1313-449f-89eb-cd45c1a4846c/mobile-services-sync-pullasync-and-updatedat?forum=azuremobile

提前致谢

How can I omit pulling data again if there is no update while all the Update At values are same time stamp? The issue is same as mentioned in below link. Do we still need to do one record update in order to fix this?

我检查过这个问题仍然存在。据我所知,PullAsync 操作会提取 50 条记录(默认情况下 MaxPageSize 为 50),然后开始事务以插入/更新检索到的实体,然后用最新的更新本地 __config table updatedAt时间戳,然后尝试检索下一页记录并再次执行上述处理。

注意: 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 table 以检索最新的 updatedAt 值或查询相关的本地 table 以检索最新的 updatedAt 值,然后添加一个小的当前 updatedAt 的时间间隔,并在使用增量拉取操作时明确指定 UpdatedAt 属性 上的过滤器与之前的 updatedAt。