eXtreme Scale REST データ・サービスを開始すると、HTTP クライアントを使用して対話ができます。Web ブラウザー、PHP クライアント、Java クライアント、または WCF Data Services クライアントを使用して、サポートされる要求の操作を任意に実行することができます。
REST サービスは、OData プロトコル (OData protocol) の一部である MicrosoftAtom Publishing Protocol: データ・サービス URI およびペイロード拡張 (Microsoft Atom
Publishing Protocol: Data Services URI and Payload Extensions) の仕様バージョン 1.0 のサブセットを実装します。
このトピックでは、仕様のどのフィーチャーがサポートされ、どのように eXtreme Scale にマップされるのかについて説明します。
サービス・ルート URI
Microsoft WCF Data Services は通常、データ・ソースごとまたはエンティティー・モデルごとにサービスを定義します。 eXtreme Scale REST データ・サービスは、定義された ObjectGrid ごとにサービスを定義します。eXtreme Scale ObjectGrid クライアント・オーバーライド XML ファイルで定義された各 ObjectGrid は、個別の REST サービス・ルートとして自動的に公開されます。
ルート・サービスの URI は以下のとおりです。
http://host:port/contextroot/restservice/gridname
各部の意味は、次のとおりです。
- contextroot は、REST データ・サービス・アプリケーションをデプロイする際に定義され、アプリケーション・サーバーに依存する。
- gridname は、ObjectGrid の名前である。
要求の種類
以下のリストで、eXtreme Scale REST データ・サービスがサポートする Microsoft WCF Data Services の要求の種類を説明します。WCF Data Services がサポートする各要求の種類について詳しくは、MSDN: Request Types を参照してください。
- 挿入要求の種類
クライアントは、POST HTTP verb を使用してリソースを挿入できますが、以下の制限があります。
- InsertEntity 要求: サポートされます。
- InsertLink 要求: サポートされます。
- InsertMediaResource 要求: メディア・リソースのサポート制限のためにサポートされません。
追加情報については、
MSDN: Insert Request Types を参照してください。
- 更新要求の種類
クライアントは、PUT verb および MERGE HTTP verb を使用してリソースを更新できますが、以下の制限があります。
- UpdateEntity 要求: サポートされます。
- UpdateComplexType 要求: 複合型制限のためにサポートされません。
- UpdatePrimitiveProperty 要求: サポートされます。
- UpdateValue 要求: サポートされます。
- UpdateLink 要求: サポートされます。
- UpdateMediaResource 要求: メディア・リソースのサポート制限のためにサポートされません。
追加情報については、
MSDN: Insert Request Types を参照してください。
- 削除要求の種類
クライアントは、DELETE HTTP verb を使用してリソースを削除できますが、以下の制限があります。
- DeleteEntity 要求: サポートされます。
- DeleteLink 要求: サポートされます。
- DeleteValue 要求: サポートされます。
追加情報については、
MSDN: Delete Request Types を参照してください。
- 取得要求の種類
クライアントは、GET HTTP verb を使用してリソースを取得できますが、以下の制限があります。
- RetrieveEntitySet 要求: サポートされます。
- RetrieveEntity 要求: サポートされます。
- RetrieveComplexType 要求: 複合型制限のためにサポートされません。
- RetrievePrimitiveProperty 要求: サポートされます。
- RetrieveValue 要求: サポートされます。
- RetrieveServiceMetadata 要求: サポートされます。
- RetrieveServiceDocument 要求: サポートされます。
- RetrieveLink 要求: サポートされます。
- カスタマイズ可能なフィード・マッピングを含む取得要求: サポートされません。
- RetrieveMediaResource: メディア・リソースのサポート制限のためにサポートされません。
追加情報については、
MSDN: Retrieve Request Types を参照してください。
- システム照会オプション
クライアントがエンティティーの集合、または単一エンティティーを識別できるような照会がサポートされます。 システム照会オプションは、データ・サービス URI で指定され、以下の制限の下でサポートされます。
- $expand: サポートされます。
- $filter: サポートされます。
- $orderby: サポートされます。
- $format: サポートされません。 許容可能な形式は、HTTP Accept 要求ヘッダーで認識されます。
- $skip: サポートされます。
- $top: サポートされます。
追加情報については、
MSDN: System Query Options を参照してください。
- 区画ルーティング
区画ルーティングはルート・エンティティーを基にします。
要求 URI のリソース・パスがルート・エンティティーから始まる場合、あるいはルート・エンティティーに直接的または間接的なアソシエーションを持つエンティティーから始まる場合、要求 URI はルート・エンティティーを示します。区画に分割された環境では、ルート・エンティティーを示すことのできない要求はすべて拒否されます。 ルート・エンティティーを示す要求はいずれも正しい区画に経路指定されます。
アソシエーションおよびルート・エンティティーを使ったスキーマの定義に関する追加情報は、eXtreme Scale のスケーラブル・データ・モデルおよび区画化参照してください。
バッチ要求
クライアントは、単一の要求内で複数の変更設定または照会操作をバッチ処理することができます。これによって、サーバーへの往復回数は減り、単一トランザクションに関与する複数の要求が可能になります。追加情報については、MSDN: Batch Request を参照してください。