セールス: 1-800-867-1380

固定クエリと柔軟なクエリの比較

更新日: 2014年2月

 

 

Marketplace では OData のフィードを使用してデータを公開します。Open Data Protocol (OData) とは、データのクエリと更新を行うための Web プロトコルであり、今日のアプリケーションに存在するサイロからデータのロックを解除して解放する方法を提供します。このことを実現するために、OData は HTTP、Atom Publishing Protocol (AtomPub)、および JSON などの Web テクノロジをベースに適用および構築され、各種アプリケーション、サービス、およびストアからの情報へのアクセスを提供します。

OData は Web の動作との整合性があります。OData ではリソースの識別に URI を使用し、HTTP ベースの統一されたインターフェイスを使用してそれらのリソースとやり取りします。OData には、クライアントがフィードに対してフィルター、並べ替えなどを追加するクエリを動的に作成できるサービスの機能や、固定クエリ メソッド (他の Web サービス エンドポイントと同様のもの) を提供するサービスの機能があります。固定クエリ メソッドの場合、クライアントがパラメーターの特定のセットやサブセットを指定する必要があり、コンテンツの所有者によって定義された結果セットを返されます。Marketplace ではこれら両方の種類のクエリを使用するサービスを公開しています。下の図に示すように、データセットに使用できるクエリの種類は、データセットの [詳細] ページで指定されます。

柔軟なクエリのデータセットでは、データセットのクエリを行うときに、Marketplace でサポートされている OData のクエリ オプションの配列だけでなく、オプションのパラメーター名/値のフィルターを追加できます (columnName=dataValue)。Marketplace でサポートされるクエリ オプションの詳細については、「サポートされる OData クエリ オプション」を参照してください。

柔軟なクエリのデータセットを使用するアプリケーションを開発する場合は、Visual Studio の [サービス参照の追加] を使用して厳密に型指定された .NET クラスを生成します。これを使用して、アプリケーションから OData のサービスを呼び出すことができます。詳細については、「Step 2: Add the Service Reference for your Data Service」を参照してください。

固定クエリのデータセットでは、コンテンツの公開元が提供する事前定義されたクエリ メソッドを呼び出すことができます。クエリ メソッドには必須パラメーターや省略可能なパラメーターがある場合があり、このようなパラメーターを使用してクエリを制約付きでフィルター処理できます。固定クエリ データセットの必須パラメーターや省略可能なパラメーターの一覧は、データセットの [詳細] ページで見つけることができます。

Visual Studio の [サービス参照の追加] では、現在のところ、固定クエリをサポートするデータ サービス向けのコード生成をサポートしていません。固定クエリをサポートするデータセットには、そのデータセット専用のプロキシ クラスがあらかじめ作成されています。プロキシ クラス ファイルは、サブスクリプションの購入後、データセットの [詳細] ページで入手できます。プロキシ クラスでは、WCF Data Service クライアント ライブラリを使用して、厳密に型指定された .NET クラスが作成され、これを使用して OData サービスを呼び出すことができます。詳細については、「固定クエリのアプリケーションの作成」を参照してください。

データセットでどちらの種類のクエリがサポートされているかを判断するには、下の「クエリの種類の決定」のセクションを参照してください。

作業を進める前に、以下を用意しておく必要があります。

 

セクション 説明

URI の例

柔軟なクエリと固定クエリの URI の例です。

クエリの種類の決定

データセットが柔軟なクエリと固定クエリのどちらをサポートしているかを判断する手順です。

 

URI URI の説明

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

Contoso, Ltd. の北米営業レポート データにアクセスする柔軟なクエリです。

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

Contoso, Ltd. の営業レポート データにアクセスする柔軟なクエリです。
パラメーターが指定されていないので、結果セットはフィルター処理されず、システム内のすべての営業レポートが返されます。

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

A. Datum, Inc. サービスからの最新の人口調査データにアクセスする固定クエリです。必須パラメーターはありません。

GetCensusData への呼び出しは、Marketplace によって提供されるダウンロードされた C# サービス クラス内のデータ アクセス メソッドです。

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

The Phone Company の Marketplace サービスからの特定の勘定残高データにアクセスする固定クエリです。必須パラメーターが 1 つあります。
必須パラメーターの名前/値のペアが指定されない場合、クエリは失敗します。

GetAccountBalance への呼び出しは、Marketplace によって提供されるダウンロードされた C# サービス クラス内のデータ アクセス メソッドです。

Important重要
柔軟なクエリにパラメーターを指定しない場合、結果セットはフィルター処理されずに返されます。
固定クエリのパラメーターの数が間違っている (少なすぎるか多すぎる) 場合、クエリは失敗します。

URI を作成して OData サービスにクエリを行う方法の詳細については、OData.org の OData URI 規則を参照してください。

データセットによっては、固定クエリのみを受け付けるものや、パラメーターなしのクエリのみを受け付けるもの、または必須パラメーター/値のペアのみを受け付けるものがあります。また、柔軟なクエリ、つまり、オプションのパラメーター/値のペアを追加して結果セットをフィルター処理するクエリを受け付けるデータセットもあります。使用するデータセットにはどの種類のクエリが必要かを確認してください。

  1. [マイ データ] タブをクリックします。

  2. アプリケーションで使用するデータセット名の右側にある [使用する] をクリックします。

  3. データセットの説明の下にあるタブまで下にページをスクロールします。

  4. [詳細] タブをクリックします。

  5. サービス ルート URL の下にあるテキスト行を探します。ここにクエリの種類が示されています。次の例は、柔軟なクエリの場合です。


    図 1 - クエリの種類

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました
表示:
© 2014 Microsoft