VENTES: 1-800-867-1389

Interrogation de tables et d'entités

Mis à jour: août 2014

L'interrogation de tables et d'entités dans le service de Table nécessite une construction appropriée de l'URI de la demande. Les sections suivantes décrivent les options de requête et des scénarios courants.

Pour retourner toutes les tables d'un compte de stockage donné, exécutez une opération GET sur les ressources Tables, comme décrit dans l'opération Query Tables. L'URI de base pour l'adressage de la ressource Tables est le suivant :

https://myaccount.table.core.windows.net/Tables

Pour retourner une unique table nommée, indiquez cette table comme suit :

https://myaccount.table.core.windows.net/Tables('MyTable')

Pour retourner toutes les entités d'une table, indiquez le nom de la table dans l'URI, sans la ressource Tables :

https://myaccount.table.core.windows.net/MyTable()

Les résultats de la requête sont triés par PartitionKey, puis par RowKey. Un ordre de tri des résultats différent n'est actuellement pas pris en charge.

Vous pouvez spécifier des options supplémentaires pour limiter l'ensemble de tables ou d'entités retourné, comme décrit dans la section suivante Options de requête prises en charge.

noteRemarque
Le nombre d'entités retourné pour une demande peut être limité, si la requête dépasse le nombre maximum d'entités, l'intervalle de délai d'expiration ou dépasse une limite de partition. Pour plus d'informations, consultez Délai d'expiration de requête et pagination.

Le service de Table prend en charge les options de requête suivantes, conformément à la Spécification du protocole OData. Vous pouvez utiliser ces options pour limiter l'ensemble de tables, d'entités ou de propriétés d'entité retournées par une requête.

 

Option de requête système Description

$filter

Retourne uniquement les tables ou les entités qui correspondent au filtre spécifié.

Notez qu'un maximum de 15 comparaisons discrètes sont autorisées au sein d'une chaîne $filter.

$top

Retourne uniquement les n tables ou entités supérieures de l'ensemble.

$select

Retourne les propriétés souhaitées pour une entité de l'ensemble. Cette option de requête est prise en charge uniquement pour les demandes à partir de la version du 18/08/2011. Pour plus d'informations, consultez Écriture de requêtes LINQ sur le service de Table.

noteRemarque
Les options de requête supplémentaires définies par OData ne sont pas prises en charge par le service de Table.

Au sein d'une clause $filter, vous pouvez utiliser les opérateurs de comparaison pour spécifier des critères pour filtrer les résultats de requête.

Pour tous les types de propriété, les opérateurs de comparaison suivants sont pris en charge :

 

Opérateur Expression d'URI

Equal

eq

GreaterThan

gt

GreaterThanOrEqual

ge

LessThan

lt

LessThanOrEqual

le

NotEqual

ne

De plus, les opérateurs suivants sont pris en charge pour les propriétés booléennes :

 

Opérateur Expression d'URI

And

and

Not

not

Or

or

Pour plus d'informations sur la syntaxe du filtre, consultez OData Protocol Specification.

Les caractères suivants doivent être encodés s'ils doivent être utilisés dans une chaîne de requête :

  • barre oblique (/)

  • point d'interrogation (?)

  • deux-points (:)

  • Symbole arobase (@)

  • Et commercial (&)

  • Signe égal (=)

  • Signe plus (+)

  • Virgule (,)

  • Signe dollar ($)

Les exemples suivants décrivent comment construire l'URI de la demande pour des requêtes d'entité typiques à l'aide de la syntaxe REST. Les mêmes requêtes pourraient être écrites en syntaxe LINQ. Pour plus d'informations, consultez Écriture de requêtes LINQ sur le service de Table.

Notez que les options $top et $filter peuvent être utilisées pour filtrer les noms de table, à l'aide de la syntaxe décrite pour filtrer les propriétés de type String.

Pour retourner les n entités supérieures pour une requête, indiquez l'option de requête $top. L'exemple suivant retourne les 10 entités supérieures d'une table appelée Customers :

https://myaccount.table.core.windows.net/Customers()?$top=10

Dans la mesure où les propriétés PartitionKey et RowKey forment une clé primaire d'entité, vous pouvez utiliser une syntaxe spéciale pour identifier l'entité, comme suit :

https://myaccount.table.core.windows.net/Customers(PartitionKey='MyPartition',RowKey='MyRowKey1')

Vous pouvez également spécifier ces propriétés dans le cadre de l'option $filter, comme indiqué dans la section suivante.

Notez que les noms de propriété clé et les valeurs de constante respectent la casse. Les propriétés PartitionKey et RowKey sont de type String.

Lors de la construction d'une chaîne de filtre, n'oubliez pas ces règles :

  • Utilisez les opérateurs logiques définis par la Spécification du protocole OData pour comparer une propriété à une valeur. Notez qu'il n'est pas possible de comparer une propriété à une valeur dynamique car l'un des côtés de l'expression doit être une constante.

  • Le nom de la propriété, l'opérateur et la valeur de constante doivent être séparés par des espaces encodés URL. Un espace est encodé URL sous la forme %20.

  • Toutes les parties de la chaîne de filtrage respectent la casse.

  • La valeur de la constante doit être du même type de données que la propriété afin que le filtre puisse retourner des résultats valides. Pour plus d'informations sur les types de propriété pris en charge, consultez Présentation du modèle de données du service de Table.

noteRemarque
Assurez-vous de vérifier qu'une propriété a été explicitement typée avant de considérer qu'elle a un type autre que chaîne. Si une propriété a été explicitement typée, le type est indiqué dans la réponse quand l'entité est retournée. Si la propriété n'a pas été explicitement typée, elle sera de type String, et le type ne sera pas indiqué dans la réponse quand l'entité est retournée.

Lors du filtrage sur les propriétés de chaîne, placez la constante de chaîne entre guillemets simples.

L'exemple suivant filtre sur les propriétés PartitionKey et RowKey ; d'autres propriétés non clé pourraient être ajoutées à la chaîne de requête.

https://myaccount.table.core.windows.net/Customers()?$filter=PartitionKey%20eq%20'MyPartitionKey'%20and%20RowKey%20eq%20'MyRowKey1'

L'exemple suivant filtre sur une propriété FirstName et LastName :

https://myaccount.table.core.windows.net/Customers()?$filter=LastName%20eq%20'Smith'%20and%20FirstName%20eq%20'John'

Notez que le service de Table ne prend pas en charge les requêtes avec des caractères génériques. Toutefois, il est possible d'exécuter une correspondance de préfixe à l'aide d'opérateurs de comparaison sur le préfixe désiré. L'exemple suivant retourne des entités avec une propriété LastName qui commence par la lettre « A »:

https://myaccount.table.core.windows.net/Customers()?$filter=LastName%20ge%20'A'%20and%20LastName%20lt%20'B'

Pour filtrer sur un entier ou un nombre à virgule flottante, indiquez la valeur de constante dans l'URI sans guillemets.

Cet exemple retourne toutes les entités avec une propriété Age dont la valeur est supérieure à 30 :

https://myaccount.table.core.windows.net/Customers()?$filter=Age%20gt%2030

Cet exemple retourne toutes les entités avec une propriété AmountDue dont la valeur est inférieure ou égale à 100,25 :

https://myaccount.table.core.windows.net/Customers()?$filter=AmountDue%20le%20100.25%20

Pour filtrer sur une valeur booléenne, indiquez true ou false sans guillemets.

L'exemple suivant retourne toutes les entités pour lesquelles la propriété IsActive a la valeur true :

https://myaccount.table.core.windows.net/Customers()?$filter=IsActive%20eq%20true

Pour filtrer sur une valeur DateTime, indiquez le mot clé datetime dans l'URI, suivi par la constante date/heure entre guillemets simples. La constante de date/heure doit être au format UTC combiné, comme décrit dans Mise en forme des valeurs de propriété DateTime.

L'exemple suivant retourne les entités pour lesquelles la propriété CustomerSince est égale au 10 juillet 2008 :

https://myaccount.table.core.windows.net/Customers()?$filter=CustomerSince%20eq%20datetime'2008-07-10T00:00:00Z'

Pour filtrer sur une valeur GUID, spécifiez le mot clé guid dans l'URI, suivi par la constante de guid entre guillemets simples.

L'exemple suivant retourne les entités pour lesquelles la propriété GuidValue est égale à :

https://myaccount.table.core.windows.net/Customers()?$filter=GuidValue%20eq%20guid'a455c695-df98-5678-aaaa-81d3367e5a34'

Voir aussi

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.
Afficher:
© 2014 Microsoft