Compare Fixed and Flexible Query Types

Mis à jour: février 2014

 

Logo DataMarket

Le Marketplace expose des données à l'aide de flux OData (Open Data Protocol). OData est un protocole web pour l'interrogation et la mise à jour de données, qui permet de déverrouiller vos données et de les libérer des silos qui existent dans les applications d'aujourd'hui. OData fait cela en appliquant et en exploitant des technologies web telles que HTTP, Atom Publishing Protocol (AtomPub) et JSON pour fournir l'accès aux informations d'une série d'applications, de services et de magasins.

OData est cohérent avec le fonctionnement du web. Il utilise des URI pour l'identification des ressources, et une interface uniforme basée sur HTTP pour interagir avec celles-ci. OData permet à un service d'autoriser des clients à générer de façon dynamique des requêtes sur des flux d'ajout de filtres, de tri et autres, ou de fournir des méthodes de requête fixe (similaires à d'autres points de terminaison de service web) où le client doit fournir un ensemble ou sous-ensemble spécifique de paramètres, pour recevoir un jeu de résultats spécifiques, comme déterminé par le propriétaire du contenu. Le Marketplace publie des services qui utilisent ces deux types de requêtes. Le type de requête disponible pour un jeu de données est spécifié dans la page Détails de celui-ci, comme illustré dans l'image ci-dessous.

Un jeu de données de requête souple permet d'ajouter des filtres de nom/valeur de paramètre facultatifs lorsque vous interrogez le jeu de données (columnName=dataValue), ainsi qu'un tableau d'options de requête OData prises en charge par le Marketplace. Pour plus d'informations sur les options de requête que le Marketplace prend en charge, consultez Options de requête OData prises en charge.

Lorsque vous développez une application qui utilise un jeu de données de requête souple, utilisez la fonctionnalité Ajouter une référence de service de Visual Studio pour générer des classes .NET fortement typées que vous pouvez ensuite utiliser pour appeler le service OData à partir de votre application. Pour plus d'informations, consultez Step 2: Add the Service Reference for your Data Service.

Un jeu de données de requête fixe vous permet d'appeler des méthodes de requête prédéfinies que l'éditeur du contenu met à disposition. Une méthode de requête peut avoir un ensemble de paramètres obligatoires ou facultatifs, qui permettent d'ajouter un filtrage contraint à votre requête. Une liste des paramètres obligatoires ou facultatifs pour tout jeu de données de requête fixe figure dans la page Détails du jeu de données.

Actuellement, la fonctionnalité Ajouter une référence de service de Visual Studio ne prend pas en charge la génération de code pour les services de données qui prennent en charge les requêtes fixes. Tout jeu de données qui prend en charge les requêtes fixes fournit une classe proxy créée au préalable pour le jeu de données. Le fichier de classe proxy est disponible dans la page Détails du jeu de données après l'achat de l'abonnement. Les classes proxy utilisent la bibliothèque cliente du Service de données WCF pour créer une classe .NET fortement typée pouvant appeler le service OData. Pour plus d'informations, consultez Création d'une application de requête fixe.

Pour déterminer le type de requête qu'un jeu de données prend en charge, consultez la section Déterminer le type de requête ci-dessous.

Avant de continuer, vérifiez que vous disposez des éléments suivants :

 

Section Description

Exemples d'URI

Exemples d'URI de requêtes souples et fixes.

Déterminer le type de requête

Étapes pour déterminer si un jeu de données prend en charge les requêtes souple ou fixes.

 

URI Description de l'URI

https://api.datamarket.azure.com/data.ashx/contoso.com/salesreport/GetSalesReport?region=northamerica

Requête souple pour accéder aux données du rapport des ventes de Contoso, Ltd. pour l'Amérique du Nord.

https://api.datamarket.azure.com/data.ashx/contoso.com/salesreport/GetSalesReport

Requête souple pour accéder aux données du rapport des ventes de Contoso, Ltd.
Dans la mesure où aucun paramètre n'est spécifié, le jeu de résultats n'est pas filtré et la requête renvoie tous les rapports de ventes figurant dans le système.

https://api.datamarket.azure.com/Data.ashx/adatum.com/CensusInfo/GetCensusData

Requête fixe sans paramètre obligatoire pour accéder aux dernières données de recensement du service A. Datum, Inc.

L'appel à GetCensusData est la méthode d'accès aux données dans la classe de service C# téléchargée fournie par le Marketplace.

https://api.datamarket.azure.com/Data.ashx/thephone-company.com/accountbalance/GetAccountBalance?phonenumber=5551234567

Requête fixe avec un paramètre obligatoire pour accéder aux données de solde d'un compte spécifique à partir du service Marketplace de The Phone Company.
Si la paire nom/valeur du paramètre obligatoire n'est pas fournie, la requête échoue.

L'appel à GetAccountBalance est la méthode d'accès aux données dans la classe de service C# téléchargée fournie par le Marketplace.

ImportantImportant
Une requête souple sans paramètre renvoie un jeu de résultats non filtrés.
Une requête fixe avec un nombre incorrect de paramètres (trop ou trop peu) échoue.

Certains jeux de données autorisent uniquement les requêtes fixes, sans paramètre ou avec des paires paramètre/valeur obligatoires. Les autres jeux de données autorisent des requêtes souples, des requêtes qui incluent des paires paramètre/valeur facultatives pour filtrer le jeu de résultats. Déterminez le type de requête que votre jeu de données requiert.

  1. Cliquez sur l'onglet Mes données.

  2. Cliquez sur le mot Utiliser à droite du nom du jeu de données que vous souhaitez utiliser dans votre application.

  3. Faites défiler la page jusqu'aux onglets sous la description du jeu de données.

  4. Cliquez sur l'onglet Détails.

  5. Recherchez la ligne de texte sous l'URL racine du service, qui indique le type de requête. Cet exemple concerne une requête souple.

    Type de requête


    Figure 1 – Type de requête

Afficher: