我相信过去这个问题的答案是否定的。但是,最近的版本有什么变化,或者有没有人知道我可以做到这一点的方法。我正在使用数据表,并且希望能够执行诸如跳过 50 次检索 50 行之类的操作。跳过 100 检索 50 行等。
3 回答
仍然无法跳过行。唯一支持的导航结构是顶部。表服务 REST API 是访问 Wndows Azure 存储的权威方法,因此它的文档是了解可能或不可能的首选位置。
你在这里问的可以使用continuation tokens。Scott Densmore 不久前在博客中解释了如何在显示表格时使用延续令牌进行分页(就像您在这里使用 DataTables 提出的问题):使用 Windows Azure 表存储进行分页。博客文章展示了如何在使用延续标记在页面之间前后移动时显示 3 个项目的页面:
除此之外,Steve 的帖子也描述了相同的概念:Paging Over Data in Windows Azure Tables
是(有点)和不。不,从某种意义上说,REST 头不直接支持 Skip 操作。您当然可以在内存中执行此操作,但这会破坏目的。
但是,如果您正确地构建数据,您当然可以实际执行此模式。我们自己做这样的事情。我们将分区键与日期时间对齐,并使用 RowKey 作为鉴别器。这意味着我们总是可以查明我们感兴趣的分区范围,然后 Take() 一些数据量。因此,例如,我们可以通过指定唯一查询(跳过我们不想要的数据)轻松 Take() 每小时的前 20 行。分区键每小时简单对齐,然后我们可以选择使用 RowKey 进一步区分 - 最后,我们只获取数据。当并行执行时,这很有效。
同样,技术上更正确的答案是否定的。但是,您可以使用 PK 和 RK 巧妙地近似它。