Exportar (0) Imprimir
Expandir Tudo

Tempo limite de consulta e paginação

Atualizado: fevereiro de 2014

O serviço Tabela oferece suporte aos seguintes dois tipos de operações de consulta:

  • A operação Consultar tabelas (API REST) retorna a lista de tabelas na conta de armazenamento especificada. A lista de tabelas pode ser filtrada de acordo com os critérios especificados na solicitação.

  • A operação Entidades de consulta (API REST) retorna um conjunto de entidades da tabela especificada. Os resultados da consulta podem ser filtrados de acordo com os critérios especificados na solicitação.

Uma consulta no serviço Tabela pode retornar, no máximo, 1.000 itens simultaneamente e pode ser executada por até cinco segundos. Se o conjunto de resultados contiver mais de 1.000 itens, se a consulta não foi concluída dentro de cinco segundos ou se a consulta ultrapassar o limite da partição, a resposta incluirá os cabeçalhos que fornecem ao desenvolvedor os tokens de acompanhamento a serem usados para retomar a consulta no próximo item no conjunto de resultados. Os cabeçalhos de tokens de acompanhamento podem ser retornados para a operação Consultar tabelas (API REST) ou uma operação Entidades de consulta (API REST).

Observe que o tempo total distribuído à solicitação para agendar e processar a consulta é de 30 segundos, incluindo os cinco segundos para a execução da consulta.

É possível que uma consulta não retorne nenhum resultado, mas ainda retorne um cabeçalho de acompanhamento.

Os cabeçalhos de tokens de acompanhamento são mostrados na tabela a seguir.

 

Cabeçalho do token de acompanhamento Descrição

x-ms-continuation-NextTableName

Esse cabeçalho é retornado no contexto de uma operação Consultar tabelas (API REST). Se a lista de tabelas retornadas não estiver completa, um hash do nome da tabela seguinte na lista será incluído no cabeçalho do token de acompanhamento.

x-ms-continuation-NextPartitionKey

Esse cabeçalho é retornado no contexto de uma operação Entidades de consulta (API REST). O cabeçalho contém um hash da próxima chave da partição a ser retornada em uma consulta subsequente na tabela.

x-ms-continuation-NextRowKey

Esse cabeçalho é retornado no contexto de uma operação Entidades de consulta (API REST). O cabeçalho contém um hash da próxima chave de linha a ser retornada em uma consulta subsequente na tabela.

Observe que, em algumas instâncias, x-ms-continuation-NextRowKey pode ser nulo.

Para recuperar os tokens de acompanhamento e executar uma consulta subsequente para retornar a próxima página de resultados, primeiro inspecione os cabeçalhos de resposta para tokens de acompanhamento. Se não houver nenhum cabeçalho ou os valores de cabeçalho forem nulo, não haverá nenhuma entidade adicional a ser retornada. Se você estiver tratando os tokens de acompanhamento manualmente usando a Biblioteca de Clientes Microsoft .NET, primeiro converta o resultado da operação de consulta em um objeto QueryOperationResponse. Você pode acessar os cabeçalhos de tokens de acompanhamento na propriedade Headers do objeto QueryOperationResponse.

Depois que recuperar os tokens de acompanhamento, use seus valores para construir uma consulta para retornar a próxima página de resultados. Um URI de solicitação de consulta pode usar esses parâmetros, que correspondem aos cabeçalhos de tokens de acompanhamento retornados com a resposta:

  • NextTableName

  • NextPartitionKey

  • NextRowKey

noteObservação
Um cliente pode definir um tempo limite para uma operação de consulta usando a propriedade Timeout da classe DataServiceContext. O tempo total distribuído à solicitação para agendar e processar a consulta é de 30 segundos, incluindo cinco segundos para a execução da consulta.

Se a operação for uma operação de inserção ou exclusão, ela poderá ser bem-sucedida no servidor, independentemente de um erro sendo retornado pelo cliente. Isso poderá ocorrer quando o tempo limite do cliente for definido como menos de 30 segundos, que é o tempo limite máximo para uma operação de inserção, atualização ou exclusão.

O exemplo de código a seguir mostra um conjunto exemplos de cabeçalhos de resposta de uma consulta de entidade em uma tabela denominada Clientes que retorna os cabeçalhos de acompanhamento. x-ms-continuation-NextPartitionKey e x-ms-continuation-NextRowKey são retornados.

Date: Mon, 25 Nov 2013 20:11:08 GMT
Content-Type: application/atom+xml;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: 2013-08-15
x-ms-continuation-NextPartitionKey: 1!8!U21pdGg-
x-ms-continuation-NextRowKey: 1!8!QmVuOTk5
Content-Length: 880298

A solicitação para a próxima página de dados pode ser criada como o seguinte URI:

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

Consulte também

Mostrar:
© 2014 Microsoft