我在Azure调用中使用.AsTableServiceQuery()
来获取数据。
我还使用$top
获取有限的数据,比方说100
问题是,查询返回100个结果,并且还会给出x-ms-continuation-NextPartitionKey
标记。
同时.AsTableServiceQuery()
并不关心已经有100个结果,并且在继续令牌之后直到到达表的末尾。以后哪些数据和大量HTTP调用都会超时。
是否有其他方法可以使用$top
过滤器
答案 0 :(得分:3)
持续令牌是典型的混淆来源。每当你发出$ filter或$ top时,最好是期望延续令牌。 $ top是另一种在表格上分页的方式。使用Linq Take(n)后跟.AsTableQuery()以您期望的方式工作。 Neil Mackenzie在他的描述性博客文章中提供了一个很好的样本。
CloudTableQuery<Song> cloudTableQuery =
(from entity in tableServiceContext.CreateQuery<Song>(“Songs”)
select entity).Take(10).AsTableServiceQuery<Song>();