你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

查询超时和分页

表服务支持以下两种类型的查询服务:

  • 查询表操作返回指定存储帐户中的表列表。 可根据对请求指定的条件来筛选表的列表。

  • 查询实体操作从指定表中返回一组实体。 可根据对请求指定的条件来筛选查询结果。

对表服务的查询一次最多可返回 1000 项,执行时间最长为 5 秒。 如果结果集包含 1000 项以上,查询在 5 秒内没有完成,或者查询跨越分区边界,则响应中包含的标头将为开发人员提供要使用的继续标记,以便在结果集中的下一项处继续查询。 可以为 查询表 操作或查询 实体 操作返回延续标记标头。

请注意分配给计划和处理查询请求的总时间为 30 秒,包括查询执行的 5 秒。

查询可能不返回任何结果,但仍会返回继续标记头。

下表中显示了继续标记头。

继续标记头 说明
x-ms-continuation-NextTableName 此标头在 查询表 操作的上下文中返回。 如果返回的表的列表不完整,则继续标记头中包括列表中下一个表的名称哈希。
x-ms-continuation-NextPartitionKey 此标头在 查询实体 操作的上下文中返回。 此标头包含在针对表的后续查询中返回的下一个分区键的哈希。
x-ms-continuation-NextRowKey 此标头在 查询实体 操作的上下文中返回。 此标头包含在针对表的后续查询中返回的下一个行键的哈希。

请注意,在某些情况下,x-ms-continuation-NextRowKey 可能是 null

若要检索继续标记并执行后续查询以返回下一页结果,请首先检查继续标记的响应标头。 如果没有标头或标头的值为 null,则没有要返回的其他实体。

注意

发出包含继续令牌的后续请求时,请务必在请求中传递原始 URI。 例如,如果已指定 、 $select$top 查询选项作为原始请求的一$filter部分,则需要在后续请求中包含该选项。 否则,后续请求可能会返回意外结果。

请注意,在这种情况下, $top 查询选项指定每页的最大结果数,而不是整个响应集中的最大结果数。

有关更多详细信息 ,请参阅查询表和实体

如果使用 Microsoft .NET 客户端库手动处理继续标记,请先将查询操作的结果强制转换为 QueryOperationResponse 对象。 然后,可以在 对象的 Headers 属性中访问延续令牌标头 QueryOperationResponse

在检索继续标记之后,请使用这些标记的值来构造查询以返回下一页结果。 查询请求 URI 可获取与通过响应返回的继续标记头相对应的参数:

  • NextTableName

  • NextPartitionKey

  • NextRowKey

注意

分配给请求以计划和处理查询的总时间为 30 秒,包括执行查询的 5 秒。

如果操作是插入、更新或删除操作,则尽管客户端返回了错误,但该操作可能在服务器上成功。 如果将客户端超时设置为小于 30 秒(30 秒是插入、更新或删除操作的最大超时),可能发生这种情况。

示例响应标头和后续请求

下面的代码示例说明针对返回继续头的名为 Customers 的表进行的实体查询的示例响应标头。 将返回 x-ms-continuation-NextPartitionKeyx-ms-continuation-NextRowKey

Date: Mon, 27 Jun 2016 20:11:08 GMT  
Content-Type: application/json;charset=utf-8  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
Cache-Control: no-cache  
x-ms-request-id: f9b2cd09-4dec-4570-b06d-4fa30179a58e  
x-ms-version: 2015-12-11  
x-ms-continuation-NextPartitionKey: 1!8!U21pdGg-  
x-ms-continuation-NextRowKey: 1!8!QmVuOTk5  
Content-Length: 880298  

可以构造下一页数据的请求,如下面的 URI 所示:

http://myaccount.table.core.windows.net/Customers?NextPartitionKey=1!8!U21pdGg-&NextRowKey=1!12!QmVuMTg5OA--  

另请参阅

寻址表服务资源
对表的操作
Operations on Entities(对实体的操作)