Windows Azure MarketPlace DataMarketを使用した開発事始め
Windows Azure MarketPlace DataMarket入門(後編)
ダウンロード サンプルファイル (3.0 MB)
C#でフィックスクエリデータを使用する
では、次回はクエリが制限された情報の場合のアプリケーションを作成します。フレキシブルクエリのデータを取得するために作成したプロジェクトをそのまま使います。
準備
今回はAlteryx, LLCから提供されている「Census Demographic Data」を使用します。このデータは人口統計などのデータで構成されてます。まずはサブスクリプションを購入してください。サブスクリプションを購入すると各情報のページに.NET Class Libraryのリンクが表示されるようになるので、「CensusDemographicDataContainer.cs」を任意の箇所にダウンロードしてください。このファイルが「Census Demographic Data」の情報を使用するためのライブラリファイルになります。

このダウンロードしたファイルをプロジェクトに追加します。プロジェクト名(今回はDataMarket)を右クリックしてメニューを表示して、[追加]→[既存の項目]でダイアログから選択して追加します。
コンテキストの作成
フレキシブルデータの場合と基本的に処理は変わりませんが、必須引数があり専用のライブラリを使用する点が異なります。まず「CensusDemographicDataContainer.cs」をプロジェクトのフォルダに配置した上で、Webロールのプロジェクトを右クリックしてプルダウンメニューを表示し[追加]→[既存の項目]でプロジェクトに追加します。次に「DataMarketContext.cs」にデータを操作するクラスを実装します。
[DataObject]
public class CensusDemographicDataContext
{
private string YOURLIVEID = "";
private string YOURACCOUNTKEY = "";
private Uri serviceUri;
private CensusDemographicDataContainer context;
public CensusDemographicDataContext()
{
serviceUri = new Uri("https://api.datamarket.azure.com/Data.ashx/Alteryx/CensusDemographicData/");
context = new CensusDemographicDataContainer(serviceUri);
context.Credentials = new NetworkCredential(
YOURLIVEID,
YOURACCOUNTKEY);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public IEnumerable<CensusDemographicDataEntity> GetCensusDemographicData(double longitude, double latitude)
{
return context.GetCensusDemographicData(longitude, latitude, null, null);
}
}
フォーム画面の作成
次に、データの入力・表示を行うフォーム画面(CensusDemographicData.aspx)を作成します。今回は最低限の必須項目であるLongitudeとLatitudeを元に検索を行うため、2つの入力項目の入力を行うテキストボックス、検索結果を表示するGridView、データバインドのためのObjectDataSource、検索を行うためのボタンを配置します。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CensusDemographicData.aspx.cs" Inherits="DataMarket.CensusDemographicData" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>Census Demographic Dataのリスト</h1>
Longitude<asp:TextBox ID="LongitudeTextBox" runat="server"></asp:TextBox>
<br />
Latitude<asp:TextBox ID="latitudeTextBox" runat="server"></asp:TextBox>
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="検索" />
<br />
<br />
<asp:ObjectDataSource ID="CensusDemographicDataSource" runat="server"
OldValuesParameterFormatString="original_{0}"
SelectMethod="GetCensusDemographicData"
TypeName="DataMarket.CensusDemographicDataContext">
<SelectParameters>
<asp:ControlParameter ControlID="LongitudeTextBox" Name="longitude"
PropertyName="Text" Type="Double" DefaultValue="33.37321" />
<asp:ControlParameter ControlID="latitudeTextBox" Name="latitude"
PropertyName="Text" Type="Double" DefaultValue="-111.47521" />
</SelectParameters>
</asp:ObjectDataSource>
<br />
<asp:GridView ID="CensusDemographicGridView" runat="server" AutoGenerateColumns="False"
DataSourceID="CensusDemographicDataSource" >
<Columns>
<asp:BoundField DataField="NAME" HeaderText="NAME" SortExpression="NAME" />
<asp:BoundField DataField="KEY" HeaderText="KEY" SortExpression="KEY" />
<asp:BoundField DataField="POP00" HeaderText="POP00" SortExpression="POP00" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
今回もフレキシブルデータのサンプル同様に、画面レイアウトの都合上最低限のデータのみを表示していますが、他の項目もすべて取得済みなので容易に表示できます。
この記事は参考になりましたか?
- Windows Azure MarketPlace DataMarket入門連載記事一覧
-
- Windows Azure MarketPlace DataMarketを使用した開発事始...
- Windows Azureが提供する新しいマッシュアップサービス MarketPlace...
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト bird982000(bird982000)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

