Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Délai de requête et de la Pagination

 

Le service de Table prend en charge les deux types d'opération de requête suivants :

  • Le Interrogation de tables opération retourne la liste des tables dans le compte de stockage spécifié. La liste des tables peut être filtrée selon les critères spécifiés dans la demande.

  • Le Interrogation d'entités opération retourne un jeu d'entités à partir de la table spécifiée. Les résultats de la requête peuvent être filtrés selon les critères spécifiés dans la demande.

Une requête auprès du service de Table peut retourner un maximum de 1 000 éléments à la fois et peut s'exécuter pendant cinq secondes au maximum. Si le jeu de résultats contient plus de 1 000 éléments, si la requête ne s'est pas terminée dans les cinq secondes, ou si la requête traverse la limite de partition, la réponse inclut les en-têtes qui fournissent au développeur des jetons de continuation à utiliser pour continuer la requête au niveau de l'élément suivant dans le jeu de résultats. En-têtes de jeton de continuation peuvent être retournés pour un Interrogation de tables opération ou un Interrogation d'entités opération.

Notez que la durée totale allouée à la demande pour planifier et gérer la requête est de 30 secondes, y compris les cinq secondes pour l'exécution de la requête.

Il est possible qu'une requête ne retourne aucun résultat mais retourne quand même un en-tête de continuation.

Les en-têtes de jeton de continuation sont indiqués dans le tableau suivant.

En-tête de jeton de continuation

Description

x-ms-continuation-NextTableName

Cet en-tête est retourné dans le cadre d'un Interrogation de tables opération. Si la liste des tables retournée n'est pas terminée, un hachage du nom de la table suivante dans la liste est inclus dans l'en-tête de jeton de continuation.

x-ms-continuation-NextPartitionKey

Cet en-tête est retourné dans le cadre d'un Interrogation d'entités opération. L'en-tête contient un hachage de la clé de partition suivante à renvoyer dans une requête suivante sur la table.

x-ms-continuation-NextRowKey

Cet en-tête est retourné dans le cadre d'un Interrogation d'entités opération. L'en-tête contient un hachage de la clé de ligne suivante à renvoyer dans une requête suivante sur la table.

Notez que, dans certains cas, x-ms-continuation-NextRowKey peut être null.

Pour récupérer les jetons de continuation et exécuter une requête suivante pour retourner la page suivante des résultats, inspectez d'abord les en-têtes de réponse à la recherche des jetons de continuation. Si aucun en-tête ou les valeurs d'en-tête sont null, aucune entité supplémentaire à renvoyer.

System_CAPS_noteRemarque

Lors des demandes suivantes qui incluent des jetons de continuation, veillez à passer l'URI d'origine de la demande. Par exemple, si vous avez spécifié un $filter, $select, ou $top option de requête dans le cadre de la demande d'origine, vous pouvez inclure cette option pour les demandes suivantes. Sinon, vos demandes suivantes peuvent retourner des résultats inattendus.

Notez que le $top requête option dans ce cas spécifie le nombre maximal de résultats par page, pas le nombre maximal de résultats dans la réponse entière défini.

Consultez Interrogation de tables et d'entités Pour plus de détails.

Si vous gérez les jetons de continuation manuellement à l'aide de la bibliothèque Client Microsoft .NET, castez le résultat de l'opération de requête à une QueryOperationResponse objet. Vous pouvez consulter les en-têtes de jeton de continuation dans le en-têtes propriété de la QueryOperationResponse objet.

Après avoir récupéré les jetons de continuation, utilisez leurs valeurs pour construire une requête pour retourner la page suivante des résultats. L'URI d'une requête d'interrogation peut prendre ces paramètres, qui correspondent aux en-têtes de jeton de continuation retournés avec la réponse :

  • NextTableName

  • NextPartitionKey

  • NextRowKey

System_CAPS_noteRemarque

La durée totale allouée à la demande pour la planification et le traitement d'une requête est de 30 secondes, y compris les cinq secondes pour l'exécution de la requête.

Si l'opération est une insertion, mise à jour ou opération de suppression, l'opération peut avoir réussi sur le serveur en dépit d'une erreur retournée par le client. Cela peut se produire lorsque le délai d'expiration du client est défini à moins de 30 secondes, ce qui est le délai d'expiration maximal pour une opération d'insertion, de mise à jour ou de suppression.

L'exemple de code suivant montre un ensemble d'en-têtes de réponse d'une requête d'entité sur une table nommée Customers qui retourne des en-têtes de continuation. Les deux x-ms-continuation-NextPartitionKey et x-ms-continuation-NextRowKey sont retournées.

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

La demande de la page suivante des données peut être construite comme l'URI suivant :

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