Construction de chaînes de filtrage pour le Concepteur de tables

Remarque

Cet article s’applique à Azure Cloud Services (classique), qui est désormais déconseillé pour les nouveaux clients et sera mis hors service le 31 août 2024. Les services existants créés avec cette technologie sont toujours pris en charge par le biais d’Azure Cloud Services (support étendu). Pour le nouveau développement, nous vous recommandons d’utiliser un type de service plus récent conçu à des fins spécifiques, comme Azure App Service, Azure Functions ou Azure Container Apps. Pour obtenir la liste la plus récente des services disponibles, consultez le Répertoire des produits Azure.

Pour filtrer les données d’une table Azure affichée dans le Concepteur de tables Visual Studio, vous devez créer une chaîne de filtrage, puis entrer celle-ci dans le champ de filtre. La syntaxe de la chaîne de filtrage est définie par les services de données WCF et est similaire à une clause SQL WHERE. Cependant, elle est envoyée au service Table via une demande HTTP. Le Concepteur de tables est chargé de l’encodage. Si vous voulez filtrer les données à l’aide d’une valeur de propriété, il vous suffit donc de taper dans le champ de filtrage le nom de la propriété, l’opérateur de comparaison, la valeur des critères et éventuellement, l’opérateur booléen. Il n’est pas nécessaire d’inclure l’option de requête $filter comme vous le feriez pour créer une URL dans le but d’interroger la table via les informations de référence de l’API REST Storage Services.

Les services de données WCF sont basés sur le protocole OData (Open Data Protocol). Pour plus d’informations sur l’option de requête du système de filtrage ($filter), consultez les spécifications des conventions d’URI OData.

Opérateurs de comparaison

Les opérateurs logiques suivants sont pris en charge par tous les types de propriétés :

Opérateur logique Description Exemple de chaîne de filtrage
eq Égal à Ville eq 'Redmond'
gt Supérieur à Prix gt 20
ge Supérieur ou égal à Prix ge 10
lt Inférieur à Prix lt 20
le Inférieur ou égal à Prix le 100
ne Différent de Ville ne 'Londres'
et and Prix le 200 and prix gt 3,5
ou ou Prix le 3,5 or prix gt 200
not Not not isAvailable

Quand vous créez une chaîne de filtrage, il est important de suivre les règles suivantes :

  • Utilisez les opérateurs logiques pour comparer une propriété à une valeur. Il n’est pas possible de comparer une propriété à une valeur dynamique, car l’une des parties de l’expression doit avoir une valeur constante.
  • Toutes les parties de la chaîne de filtrage respectent la casse.
  • Pour que le filtre retourne des résultats valides, la valeur constante doit être du même type de données que la propriété. Pour plus d’informations sur les types de propriétés pris en charge, consultez Présentation du modèle de données du service de Table.

Filtrage par propriété de chaîne

Quand vous filtrez des données selon des propriétés de chaîne, placez la constante de chaîne entre guillemets simples.

L’exemple suivant filtre les données selon les propriétés PartitionKey et RowKey. D’autres propriétés non-clés peuvent également être ajoutées à la chaîne de filtrage :

PartitionKey eq 'Partition1' and RowKey eq '00001'

Vous pouvez placer chaque expression de filtrage entre parenthèses, même si cela n’est pas obligatoire :

(PartitionKey eq 'Partition1') and (RowKey eq '00001')

Le service de Table et le Concepteur de tables ne prennent pas en charge les requêtes génériques. Toutefois, vous pouvez lancer une correspondance de préfixe à l’aide d’opérateurs de comparaison sur le préfixe de votre choix. L’exemple suivant retourne des entités avec une propriété LastName commençant par la lettre « A » :

LastName ge 'A' and LastName lt 'B'

Filtrage par propriété numérique

Pour filtrer les données selon un nombre entier ou un nombre à virgule flottante, spécifiez le nombre sans utiliser de guillemets.

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

Age gt 30

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

AmountDue le 100.25

Filtrage par propriété booléenne

Pour filtrer les données à l’aide d’une valeur booléenne, spécifiez true ou false sans guillemets.

L’exemple suivant retourne toutes les entités dont la propriété IsActive a la valeur true:

IsActive eq true

Vous pouvez également écrire cette expression de filtre sans opérateur logique. Dans l’exemple suivant, le service de Table retourne également toutes les entités dont la propriété IsActive a la valeur true:

IsActive

Pour retourner toutes les entités dont la propriété IsActive a la valeur false, vous pouvez utiliser l’opérateur not :

not IsActive

Filtrage par propriété DateTime

Pour filtrer les données à l’aide d’une valeur DateTime, spécifiez le mot clé datetime , suivi de la constante Date/Heure entre guillemets simples. La constante 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 dont la propriété CustomerSince a la valeur « 10 juillet 2008 » :

CustomerSince eq datetime'2008-07-10T00:00:00Z'