Récupérer une ligne de table à l’aide de l’API web
Utilisez une requête GET
pour récupérer les données d’un enregistrement spécifié comme ressource avec un identifiant unique. Pendant la récupération d’une ligne de table (enregistrement d’entité), vous pouvez également demander des propriétés spécifiques et développer les propriétés de navigation pour renvoyer les enregistrements associées vers différentes tables.
Notes
Pour plus d’informations sur la récupération des définitions de table, voir Interroger les définitions de table à l’aide de l’API web.
Récupération de base
Cet exemple renvoie des données pour un enregistrement d’entité de compte avec la valeur de clé primaire égale à 00000000-0000-0000-0000-000000000001 :
GET [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)
Cet exemple renvoie toutes les propriétés de l’enregistrement de compte, ce qui n’est pas une bonne pratique de performances. Vous devez toujours utiliser l’option de requête système $select
pour limiter les propriétés retournées lorsque vous récupérez des données. Ceci est particulièrement important lors de la récupération de plusieurs lignes de données. Plus d’informations : Interroger les données à l’aide de l’API Web.
Récupérer des propriétés spécifiques
Pour limiter les propriétés renvoyées lorsque vous récupérez des données avec une requête GET, utilisez l’option de requête système $select
avec une liste de noms de propriété séparés par des virgules. Demander uniquement les propriétés dont vous avez besoin est une bonne pratique offrant d’excellentes performances. Si vous ne précisez pas de propriétés à renvoyer, toutes les propriétés sont renvoyées.
L’exemple suivant récupère les propriétés name
et revenue
pour l’entité de compte avec la valeur de clé primaire égale à 00000000-0000-0000-0000-000000000001
Demande :
GET [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)?$select=name,revenue HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Réponse :
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts(name,revenue)/$entity",
"@odata.etag": "W/\"502186\"",
"name": "A. Datum Corporation (sample)",
"revenue": 10000,
"accountid": "00000000-0000-0000-0000-000000000001",
"_transactioncurrencyid_value":"b2a6b689-9a39-e611-80d2-00155db44581"
}
Quand vous demandez certains types de propriétés, vous pouvez vous attendre à ce que davantage de propriétés en lecture seule soient renvoyées automatiquement.
Si vous demandez une valeur monétaire, la _transactioncurrencyid_value
propriété de recherche est renvoyée. Cette propriété contient uniquement la valeur GUID de la devise de transaction, vous pouvez donc utiliser cette valeur pour récupérer des informations sur la devise danstransactioncurrency EntityType. Par ailleurs, en demandant des annotations vous pouvez également obtenir des données supplémentaires dans la même requête.
Si vous demandez une propriété qui appartient à un attribut composé d’une adresse, vous recevrez la propriété composée également. Par exemple, si votre requête demande la propriété address1_line1
pour un contact, la propriété address1_composite
est retournée.
Récupérer l’enregistrement avec une clé secondaire
Si une entité a une clé secondaire définie, vous pouvez également utiliser la clé secondaire pour récupérer, mettre à jour ou supprimer l’entité au lieu de l’identificateur unique pour l’entité. Par défaut, aucune clé secondaire n’est configurée pour les entités. Les clés secondaires seront disponibles uniquement si l’organisation ou une solution les ajoute.
Les valeurs de clé secondaire avec les caractères suivants /
,<
,>
,*
,%
,&
,:
,\\
,?
,+
ne sont pas prises en charge actuellement.
Par exemple, si l’entité Contact
possède une définition de clé secondaire incluant les propriétés firstname
et emailaddress1
, vous pouvez récupérer le contact à l’aide d’une requête avec les données fournies pour ces clés :
GET [Organization URI]/api/data/v9.2/contacts(firstname='Joe',emailaddress1='abc@example.com')
Si la définition clé secondaire contient un champ de type de recherche (par exemple, la propriété primarycontactid
pour l’entité account
), vous pouvez récupérer le account
en utilisant les Propriétés de recherche, comme dans l’exemple suivant :
GET [Organization URI]/api/data/v9.2/accounts(_primarycontactid_value=00000000-0000-0000-0000-000000000001)
Récupérer les documents dans des partitions de stockage
Si vous récupérez des données dans une table élastique stockées dans une partition, assurez-vous de spécifier la clé de partition lors de la récupération de ces données.
Récupérer une valeur de propriété unique
Si vous ne souhaitez que récupérer la valeur de la propriété unique, vous pouvez modifier le nom de la propriété avec l’URI de l’entité. La réduction de la quantité de données renvoyées est une bonne pratique en matière de performances.
L’exemple suivant renvoie uniquement la valeur de la propriété name
d’une entité account
:
Demande :
GET [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)/name HTTP/1.1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Réponse :
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
{
"@odata.context":"[Organization URI]/api/data/v9.2/$metadata#accounts(00000000-0000-0000-0000-000000000001)/name",
"value":"Adventure Works (sample)"
}
Récupérer la valeur brute d’une propriété
Pour récupérer la valeur brute d’une propriété primitive, plutôt que JSON, ajoutez /$value
à l’URL ; par exemple :
Demande :
GET [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)/name/$value HTTP/1.1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Réponse :
HTTP/1.1 200 OK
Content-Type: text/plain
OData-Version: 4.0
Adventure Works (sample)
L’utilisation de la valeur brute n’est pas courante, sauf si vous utilisez les données de fichier ou d’image. Plus d’informations : Télécharger un fichier en une seule requête à l’aide de l’API Web.
Récupérer les valeurs de propriété de navigation
Vous pouvez accéder aux valeurs des propriétés de navigation, ou champs de recherche, en ajoutant le nom de la propriété de navigation à l’URI faisant référence à une entité individuelle.
L’exemple suivant renvoie le fullname
du contact
principal d’un account
avec la propriété de navigation à valeur unique primarycontactid
:
Demande :
GET [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)/primarycontactid?$select=fullname HTTP/1.1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Réponse :
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#contacts(fullname)/$entity",
"@odata.etag": "W/\"500128\"",
"fullname": "Rene Valdes (sample)",
"contactid": "ff390c24-9c72-e511-80d4-00155d2a68d1"
}
Pour les propriétés de navigation avec une valeur de collection, vous pouvez demander de retourner uniquement les références aux entités associées ou à un nombre d’entités associées.
L’exemple suivant renverra les références aux tâches relatives à un compte spécifique en ajoutant /$ref
à la demande.
Demande :
GET [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)/AccountTasks/$ref HTTP/1.1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Réponse :
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#Collection($ref)",
"value":
[
{ "@odata.id": "[Organization URI]/api/data/v9.2/tasks(6b5941dd-d175-e511-80d4-00155d2a68d1)" },
{ "@odata.id": "[Organization URI]/api/data/v9.2/tasks(fcbb60ed-d175-e511-80d4-00155d2a68d1)" }
]
}
L’exemple suivant renvoie le nombre de tâches relatives à un compte spécifique avec la propriété de navigation avec une valeur de collection Account_Tasks
avec /$count
en annexe :
Demande :
GET [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)/Account_Tasks/$count HTTP/1.1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Réponse :
2
Notes
La valeur retournée contient des caractères BOM UTF-8 (
) indiquant qu’il s’agit d’un document UTF-8.
Extraire les enregistrements associés en développant des propriétés de navigation
Utilisez l’option de requête système $expand
pour contrôler quelles données des entités associées sont renvoyées. Plus d’informations : Joindre des tables
Détecter si un enregistrement a changé depuis sa récupération
Les meilleures pratiques en matière de performances recommandent de demander uniquement les données dont vous avez besoin. Si vous avez déjà récupéré un enregistrement d’entité, vous pouvez utiliser ETAG associé à un enregistrement récupéré précédemment pour effectuer des récupérations conditionnelles sur cet enregistrement. Pour plus d’informations : Récupérations conditionnelles.
Récupérer des valeurs mises en forme
Demandez des valeurs formatées pour les récupérations d’enregistrements individuels de la même manière que vous interrogez des ensembles d’entités.
Voir aussi
Effectuer des opérations à l’aide de l’API Web
Composer des demandes HTTP et traiter les erreurs
Interroger des données à l’aide de l’API Web
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).