Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Jede Abfrage beginnt mit einer Sammlung von Entitäten. Entitätssammlungen umfassen:
-
EntitySet-Ressourcen: Eine der Web-API-
EntitySet-Sammlungen. - Gefilterte Sammlungen: Eine Reihe von Entitäten, die von einer sammlungsbewerteten Navigationseigenschaft für einen bestimmten Datensatz zurückgegeben werden.
- Eine erweiterte sammlungswertige Navigationseigenschaft.
- Eine Sammlung, die von einer Funktion zurückgegeben wird.
EntitySet Ressourcen
Um alle EntitySet in Ihrer Umgebung verfügbaren Ressourcen zu finden, senden Sie eine GET Anforderung an das Web-API Dienstdokument:
Anforderung:
GET [Organization URI]/api/data/v9.2/
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Antwort:
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",
"value": [
{
"name": "aadusers",
"kind": "EntitySet",
"url": "aadusers"
},
{
"name": "accountleadscollection",
"kind": "EntitySet",
"url": "accountleadscollection"
},
{
"name": "accounts",
"kind": "EntitySet",
"url": "accounts"
},
... <Truncated for brevity>
[
}
Trinkgeld
Diese Werte sind in der Regel der Pluralname der Tabelle, aber sie können auch anders lauten. Verwenden Sie die Ergebnisse dieser Anforderung, um zu bestätigen, dass Sie den richtigen EntitySet Ressourcennamen verwenden.
Beginnen Sie beispielsweise mit der accounts EntitySet-Ressource, um Daten aus dem Kontoentitätstyp abzurufen.
GET [Organization URI]/api/data/v9.2/accounts
Gefilterte Sammlungen
Sie können eine beliebige Sammlung von Entitäten abfragen, die eine navigationsbezogene Eigenschaft mit Listenwert für einen bestimmten Datensatz darstellt. Wenn Sie beispielsweise Daten aus dem Kontoentitätstyp abrufen möchten, bei dem ein bestimmter Benutzer " OwningUser" ist, verwenden Sie die user_accounts Sammlungswert-Navigationseigenschaft aus dem angegebenen Systembenutzerdatensatz .
GET [Organization URI]/api/data/v9.2/systemusers(<systemuserid value>)/user_accounts?$select=name
Der Name der sammlungswertigen Navigationseigenschaft:
- Überprüfen Sie für alle Dataverse-Tabellen und -Beziehungen das Web API Entity Type Reference.
- Für angepasste Tabellen oder Beziehungen suchen Sie nach den Navigationseigenschaften mit Sammlungswerten innerhalb des $Metadaten Service Dokuments.
Daten abrufen
Um Daten aus einer Sammlung abzurufen, senden Sie eine GET Anforderung an die Sammlungsressource. Das folgende Beispiel zeigt das Abrufen von Daten vom Kontoentitätstyp.
Dieses Beispiel zeigt außerdem:
- Einschränken der zurückgegebenen Spalten mithilfe von
$select. Erfahren Sie mehr über das Auswählen von Spalten. - Sortieren von Ergebnissen mithilfe von
$orderby. Weitere Informationen zum Sortieren von Spalten. - Einschränken der zurückgegebenen Zeilen mithilfe von
$top. Erfahren Sie, wie Sie die Anzahl der Zeilen einschränken. - Zeigt formatierte Werte mithilfe des Anforderungsheaders an:
Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue". Erfahren Sie mehr über formatierte Werte.
Anforderung:
GET [Organization URI]/api/data/v9.2/accounts?$select=name,statecode,statuscode&$orderby=name&$top=1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue"
Antwort:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
Preference-Applied: odata.include-annotations="OData.Community.Display.V1.FormattedValue"
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts(name,statecode,statuscode)",
"value": [
{
"@odata.etag": "W/\"112430907\"",
"name": "A. Datum Corporation (sample)",
"statecode@OData.Community.Display.V1.FormattedValue": "Active",
"statecode": 0,
"statuscode@OData.Community.Display.V1.FormattedValue": "Active",
"statuscode": 1,
"accountid": "4b757ff7-9c85-ee11-8179-000d3a9933c9"
}
]
}
Abfrage verfeinern
Nachdem Sie die Tabelle zum Starten der Abfrage ausgewählt haben, verfeinern Sie die Abfrage, um die benötigten Daten abzurufen. In den folgenden Artikeln wird erläutert, wie Sie Ihre Abfrage vervollständigen.
| Artikel | Aufgabe |
|---|---|
| Spalten auswählen | Geben Sie an, welche Datenspalten zurückgegeben werden sollen. |
| Tabellen verbinden | Geben Sie an, welche zugehörigen Tabellen in den Ergebnissen zurückgegeben werden sollen. |
| Zeilen anordnen | Geben Sie die Sortierreihenfolge der Zeilen an, die zurückgegeben werden sollen. |
| Zeilen filtern | Geben Sie an, welche Datenzeilen zurückgegeben werden sollen. |
| Seitenergebnisse | Geben Sie an, wie viele Datenzeilen mit jeder Anforderung zurückgegeben werden sollen. |
| Daten aggregieren | So gruppieren und aggregieren Sie die zurückgegebenen Daten. |
| Anzahl der Zeilen zählen | So ermitteln Sie die Anzahl der zurückgegebenen Zeilen. |
| Leistungsoptimierungen | So optimieren Sie die Leistung. |
OData-Abfrageobtionen
Verwenden Sie diese Optionen, um die von einer Sammlung zurückgegebenen Ergebnisse zu ändern. Die folgende Tabelle beschreibt die OData Abfrageoptionen, die die Dataverse Web-API unterstützt.
| Option | Verwendet um | Weitere Informationen |
|---|---|---|
$select |
Fordern Sie einen bestimmten Satz von Eigenschaften für jede Entität oder jeden komplexen Typ an. | Spalten auswählen |
$expand |
Geben Sie die zugehörigen Ressourcen an, die in Übereinstimmung mit abgerufenen Ressourcen eingeschlossen werden sollen. | Tabellen verbinden |
$orderby |
Fordern Sie Ressourcen in einer bestimmten Reihenfolge an. | Zeilen anordnen |
$filter |
Eine Sammlung von Ressourcen filtern. | Zeilen filtern |
$apply |
Daten gruppieren und aggregieren. | Daten aggregieren |
$top |
Geben Sie die Anzahl der Elemente in der abgefragten Auflistung an, die in das Ergebnis eingeschlossen werden soll. | Anzahl der Zeilen begrenzen |
$count |
Fordern Sie eine Zählung der übereinstimmenden Ressourcen an, die in die Antwort aufgenommen werden sollen. | Anzahl der Zeilen zählen |
Wenn Sie mehrere Optionen anwenden möchten, trennen Sie die Abfrageoptionen mit einem Fragezeichen (?) vom Ressourcenpfad. Trennen Sie jede Option nach der ersten mit einem kaufmännischen Und-Zeichen (&). Bei Optionsnamen wird zwischen Groß- und Kleinschreibung unterschieden.
Verwendung von Parameteraliasen mit Systemabfrageoptionen
Sie können Parameteraliase für $filter- und $orderby-Systemabfrageoptionen verwenden, aber derzeit nicht innerhalb der $expand-Option. Parameter-Aliase lassen es zu, dass Sie denselben Wert mehrfach in einer Anfrage verwenden. Wenn der Alias keinen zugewiesenen Wert aufweist, ist er NULL.
Ohne Parameteraliase:
GET [Organization URI]/api/data/v9.2/accounts?$select=name,revenue
&$orderby=revenue asc,name desc
&$filter=revenue ne null
Mit Parameteraliassen:
GET [Organization URI]/api/data/v9.2/accounts?$select=name,revenue
&$orderby=@p1 asc,@p2 desc
&$filter=@p1 ne @p3&@p1=revenue&@p2=name
Sie können auch Parameteraliase verwenden, wenn Sie Funktionen verwenden. Erfahren Sie mehr über die Verwendung von Web-API-Funktionen
Nicht unterstützte OData-Abfrageoptionen
Die Dataverse-Web-API unterstützt nicht die folgenden OData-Abfrageoptionen: $skip, , $searchund $format.
Beschränkungen der URL-Länge
Die Länger einer URL in einer GET-Anforderung wird auf 32 KB (32.768 Zeichen) begrenzt. Die Einbeziehung vieler komplexer OData-Abfrageoptionen als Parameter in die URL kann dazu führen, dass der Grenzwert erreicht wird. Sie können einen $batch Vorgang ausführen, indem Sie eine POST Anforderung verwenden, um die OData-Abfrageoptionen aus der URL und in den Textkörper der Anforderung zu verschieben, wobei der Grenzwert zweimal so lang ist. Durch Senden einer Anforderung innerhalb einer GET$batchAnforderung können Sie URLs mit einer Länge von bis zu 64 KB (65.536 Zeichen) verwenden.
Erfahren Sie mehr über Batchvorgänge mithilfe der Web-API.
Anzahl der Zeilen begrenzen
Verwenden Sie die $top OData-Abfrageoption, um die Anzahl der zurückgegebenen Zeilen zu begrenzen. Ohne diesen Grenzwert gibt Dataverse bis zu 5.000 Standardtabellenzeilen und 500 elastische Tabellenzeilen zurück.
Geben Sie alternativ eine Anzahl von Datensätzen an, die mithilfe von Paging zurückgegeben werden sollen. Verwenden Sie $top nicht, wenn Sie Seiten mit Daten anfordern.
Erfahren Sie, wie Sie seitenseitige Ergebnisse anfordern.
Einschränkungen
Es gibt einige Dinge, die Sie mithilfe von FetchXml ausführen können, die OData nicht unterstützt.
Sie können Tabellen nicht völlig ohne Beziehung verknüpfen. OData ermöglicht nur die Verwendung der
$expandAbfrageoption zum Verknüpfen von Tabellen mithilfe von Navigationseigenschaften, die Teil der Beziehungen im Datenmodell sind.Sie können keine verschachtelten $expand mit N:N-Beziehung verwenden.
Aggregationseinschränkungen führen die folgenden Einschränkungen für Aggregationen mithilfe von OData auf:
Tabellenübergreifende Spaltenvergleiche durchführen. OData unterstützt das Filtern nach Spaltenwerten in derselben Zeile, diese müssen sich jedoch in derselben Tabelle befinden.
Sie brauchen die Standardsortierreihenfolge für Auswahlspalten nicht zu überschreiben. Das Standardverhalten beim Sortieren von Auswahlspalten besteht darin, die ganzzahligen Werte anstelle des lokalisierten Beschriftungswerts zu verwenden.
Sie können die Leistungsoptimierung „Late Materialize“-Abfrage nicht verwenden.
Community-Tools
Notiz
Microsoft unterstützt keine Tools, die von der Community erstellt wurden. Wenn Sie Fragen oder Probleme mit Communitytools haben, wenden Sie sich an den Herausgeber des Tools.
Der Dataverse REST Builder ist ein Open Source-Projekt , das eine Benutzeroberfläche bereitstellt, mit der Sie viele Dinge mithilfe der Dataverse-Web-API erledigen können, einschließlich der Erstellung von Abfragen.
Das XrmToolBoxFetchXMLBuilder ist ein kostenloses Tool zum Verfassen und Testen von FetchXml-Anforderungen, generiert aber auch Code für OData-Abfragen mithilfe derselben Designerumgebung.
Funktionen von OData Version 4.0
Die Dataverse-Web-API ist ein OData-Version 4.0 Dienst. In diesen Abschnitten der OData-4.0-Spezifikation wird das Abrufen von Daten beschrieben:
- OData-Version 4.0. Teil 1: Protokoll plus Errata 03 11.2 Daten anfordern
- OData-Version 4.0. Teil 2: URL-Konventionen plus Errata 03 5 Abfrageoptionen
In diesem Artikel und den anderen Artikeln in diesem Abschnitt werden die Teile der OData-Spezifikation 4.0 beschrieben, die die Dataverse-Web-API implementiert und wie Sie sie zum Abrufen von Geschäftsdaten aus Dataverse verwenden können.
Notiz
OData Version 4.01 ist die neueste Version. Sie enthält Verbesserungen und weitere Features, die in Version 4.0 nicht verfügbar sind und daher derzeit nicht in der Dataverse-Web-API verfügbar sind.
Nächste Schritte,
Lernen, wie man Spalten auswählt.