Nachdem Sie den REST-Datenservice von eXtreme Scale
gestartet haben, können Sie jeden HTTP-Client für die Interaktion mit dem Service verwenden.
Sie können einen Webbrowser, einen PHP-Client, einen
Java-Client oder einen WCF-Data-Services-Client
verwenden, um die unterstützten Anforderungsoperationen abzusetzen.
Der REST-Service implementiert einen Teil der Spezifikation
Microsoft Atom
Publishing Protocol: Data Services URI and Payload Extensions
Version 1.0, die zum
OData-Protokoll gehört.
In diesem Artikel wird beschrieben, welche Features der Spezifikation unterstützt und wie diese
eXtreme Scale zugeordnet werden.
URI des Servicestammelements
Microsoft WCF Data Services definiert
gewöhnlich einen Service pro Datenquelle bzw. Entitätsmodell.
Der REST-Datenservice von eXtreme Scale
definiert einen Service pro definiertem ObjectGrid. Jedes in der
eXtreme-Scale-XML-Datei für das Überschreiben von ObjectGrid-Clients definierte ObjectGrid
wird automatisch als gesondertes Stammelement des REST-Service bereitgestellt.
Der URI für das Servicestammelement ist:
http://Host:Port/Kontextstammelement/restservice/Gridname
Für diese Formel gilt Folgendes:
- Das Kontextstammelement wird definiert, wenn Sie die REST-Datenserviceanwendung
implementieren und ist vom Anwendungsserver abhängig.
- Gridname steht für den Namen des ObjectGrid.
Anforderungstypen
In der folgenden Liste sind die
Anforderungstypen von Microsoft WCF Data
Services beschrieben, die vom REST-Datenservice von
eXtreme Scale unterstützt werden.
Einzelheiten zu den einzelnen Anforderungstypen, die von WCF Data Services
unterstützt werden, finden Sie auf der Webseite
"MSDN: Request Types".
- Insert-Anforderungen
Mit den folgenden Einschränkungen können Clients Ressourcen mit dem HTTP-Verb POST einfügen:
- InsertEntity-Anforderung: unterstützt
- InsertLink-Anforderung: unterstützt
- InsertMediaResource-Anforderung: aufgrund einer Einschränkung in Bezug auf die Unterstützung von Medienressourcen nicht unterstützt
Weitere Informationen finden Sie auf der Webseite
"
MSDN: Insert Request Types".
- Update-Anforderungen
Mit den folgenden Einschränkungen können Clients Ressourcen mit den HTTP-Verben PUT und MERGE aktualisieren:
- UpdateEntity-Anforderung: unterstützt
- UpdateComplexType-Anforderung: aufgrund der eingeschränkten Unterstützung komplexer Typen nicht unterstützt
- UpdatePrimitiveProperty-Anforderung: unterstützt
- UpdateValue-Anforderung: unterstützt
- UpdateLink-Anforderung: unterstützt
- UpdateMediaResource-Anforderung: aufgrund einer Einschränkung in Bezug auf die Unterstützung von Medienressourcen nicht unterstützt
Weitere Informationen finden Sie auf der Webseite
"
MSDN: Insert Request types".
- Delete-Anforderungen
Mit den folgenden Einschränkungen können Clients Ressourcen mit dem HTTP-Verb DELETE löschen:
- DeleteEntity-Anforderung: unterstützt
- DeleteLink-Anforderung: unterstützt
- DeleteValue-Anforderung: unterstützt
Weitere Informationen finden Sie auf der Webseite
"
MSDN: Delete Request Types".
- Retrieve-Anforderungen
Mit den folgenden Einschränkungen können Clients Ressourcen mit dem HTTP-Verb GET abrufen:
- RetrieveEntitySet-Anforderung: unterstützt
- RetrieveEntity-Anforderung: unterstützt
- RetrieveComplexType-Anforderung: aufgrund der eingeschränkten Unterstützung komplexer Typen nicht unterstützt
- RetrievePrimitiveProperty-Anforderung: unterstützt
- RetrieveValue-Anforderung: unterstützt
- RetrieveServiceMetadata-Anforderung: unterstützt
- RetrieveServiceDocument-Anforderung: unterstützt
- RetrieveLink-Anforderung: unterstützt
- Retrieve-Anforderung mit anpassbarer Feed-Zuordnung: nicht unterstützt
- RetrieveMediaResource: aufgrund einer Einschränkung in Bezug auf die Unterstützung von Medienressourcen nicht unterstützt
Weitere Informationen finden Sie auf der Webseite
"
MSDN: Retrieve Request Types".
- Optionen für Systemabfragen
Es werden Abfragen unterstützt, die Clients die Identifizierung einer Sammlung von Entitäten
oder einer einzelnen Entität ermöglichen.
Optionen für die Systemabfrage werden im Datenservice-URI angegeben und mit den folgenden Einschränkungen
unterstützt:
- $expand: unterstützt
- $filter: unterstützt
- $orderby: unterstützt
- $format: nicht unterstützt. Das gültige Format wird im HTTP-Anforderungsheader "Accept" identifiziert.
- $skip: unterstützt
- $top: unterstützt
Weitere Informationen finden Sie auf der Webseite
"
MSDN: System Query Options".
- Partitionsweiterleitung
Partitionsweiterleitung basiert auf der Stammentität. Ein Anforderungs-URI
leitet eine Stammentität her, wenn der Ressourcenpfad mit einer Stammentität oder mit einer
Entität beginnt, die eine direkte oder indirekte Assoziation zur Entität hat.
In einer partitionierten Umgebung wird jede Anforderung, die keine Stammentität herleiten kann, zurückgewiesen.
Jede Anforderung, die eine Stammentität herleitet, wird an die richtige Partition weitergeleitet.
Weitere Informationen zum Definieren eines Schemas mit Assoziationen und Stammentitäten finden Sie in den Abschnitten
Skalierbares Datenmodell in eXtreme Scale und Partitionierung.
Invoke-Anforderung
Invoke-Anforderungen werden nicht unterstützt.
Weitere Informationen finden Sie auf der Webseite
"MSDN: Invoke
Request".
Anforderung für Stapelverarbeitung
Clients können mehrere
Änderungssets oder Abfrageoperationen in einer einzigen Anforderung stapeln. Auf diese Weise kann die
Anzahl der Umläufe an den Server reduziert werden, und es können mehrere Anforderungen an einer einzigen
Transaktion teilnehmen.
Weitere Informationen finden Sie auf der Webseite
"MSDN: Batch
Request".
Getunnelte Anforderungen
Getunnelte Anforderungen werden nicht unterstützt.
Weitere Informationen finden Sie auf der Webseite
"MSDN: Tunneled
Requests".