Экспорт (0) Печать
Развернуть все

Время ожидания запроса и разбиение на страницы

Обновлено: Февраль 2014 г.

Служба таблиц поддерживает следующие два типа операций запросов.

  • Операция Таблицы запросов (REST API) возвращает список таблиц в пределах указанной учетной записи хранилища. Список таблиц может быть отфильтрован согласно критериям, указанным в запросе.

  • Операция Сущности запроса (REST API) возвращает набор сущностей из указанной таблицы. Результаты запроса могут быть отфильтрованы согласно критериям, указанным в запросе.

Запрос к службе таблиц может возвратить самое большее 1000 элементов одновременно и выполняться не более 5 секунд. Если результирующий набор содержит более 1000 элементов, если запрос не завершен в течение 5 секунд или если запрос пересекает границу секции, то ответ включает заголовки, которые предоставляют разработчику токены продолжения, чтобы продолжить запрос в следующем элементе результирующего набора. Заголовки токенов продолжения могут быть возвращены для операции Таблицы запросов (REST API) или операции Сущности запроса (REST API).

Обратите внимание, что общее время, отводимое запросу на планирование и обработку запроса, составляет 30 секунд, включая 5 секунд для выполнения запроса.

Возможна ситуация, когда запрос не возвращает результатов, но все равно возвращает заголовок продолжения.

Заголовки токенов продолжения показаны в следующей таблице.

 

Заголовок токена продолжения Описание

x-ms-continuation-NextTableName

Этот заголовок возвращен в контексте операции Таблицы запросов (REST API). Если список возвращенных таблиц неполон, в заголовок токена продолжения включается хэш имени следующей таблицы.

x-ms-continuation-NextPartitionKey

Этот заголовок возвращен в контексте операции Сущности запроса (REST API). Заголовок содержит хэш следующего ключа секции для возврата в последующем запросе к таблице.

x-ms-continuation-NextRowKey

Этот заголовок возвращен в контексте операции Сущности запроса (REST API). Заголовок содержит хэш следующего ключа строки для возврата в последующем запросе к таблице.

Обратите внимание, что в некоторых случаях x-ms-continuation-NextRowKey может принимать значение null.

Чтобы получить токены продолжения и выполнить последующий запрос для получения следующей страницы результатов, сначала следует проверить заголовки ответа на предмет наличия дополнительных токенов. Если заголовков нет или значения заголовков равны null, дополнительные сущности, которые нужно вернуть, отсутствуют. Если токены продолжения обрабатываются вручную с помощью клиентской библиотеки Microsoft .NET, следует сначала привести результат операции запроса к объекту QueryOperationResponse. Затем можно получить доступ к заголовкам токенов продолжения в свойстве Headers объекта QueryOperationResponse.

После получения токенов продолжения их значения можно использовать для создания запроса, который должен вернуть следующую страницу результатов. URI запроса может принимать эти параметры, которые соответствуют заголовкам токенов продолжения, возвращенным запросом:

  • NextTableName

  • NextPartitionKey

  • NextRowKey

noteПримечание
Клиент может установить время ожидания для операции запроса с помощью свойства Время ожидания класса DataServiceContext. Общее время, отводимое на планирование и обработку запроса, составляет 30 секунд, включая 5 секунд для выполнения запроса.

Если операция представляет собой операцию вставки или удаления, то она может быть успешно выполнена на сервере, несмотря на ошибку, возвращенную клиентом. Это может произойти, если время ожидания клиента установлено в значение меньше 30 секунд — максимального времени ожидания для операции вставки, обновления или удаления.

В следующем примере кода показан набор примеров заголовков ответа от запроса сущности к таблице с именем Customers, в котором были возвращены заголовки продолжения. Возвращаются и x-ms-continuation-NextPartitionKey, и x-ms-continuation-NextRowKey.

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

Запрос для следующей страницы данных можно построить по образцу следующего URI:

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

См. также

Показ:
© 2014 Microsoft