SQL Azure OData Service (Labs) でデータをいじる

某大尉より”SQL Azure”についても情報発信されたし、と号令が下ったので慣れないSQL Azureをさわってみました。

理由は聞きません。
※本題とは関係ないですがMSさんからコミュニティ名指しはいいんだろうか、と悩み中ではあります。

さて、どうせ触るならちょっと変わったことしようかなと思い、まだCTPリリースである SQL Azure Labs の SQL Azure OData Service を使ってみたいと思います。

注意:現時点でSQL Azure OData Service はまだLabs(開発者用環境)でのリリースです。本ポストの内容は将来的に使えなくなる可能性がありますので注意ください。

DBの準備

まずは公開するためのDBを用意します。SQL Azure 開発者ポータルに接続して、Create Server でサーバーを作成します。

サーバーが作成されたら、[Create Database]でデータベースを作ります。

作成したサーバーのファイアウォールの設定ですが、今回はマイクロソフトのサービスからのアクセスを許可にチェックを付けます。

このチェックが無いと、SQL Azure OData Service から接続することができませんので要注意です。

さて、これでDBの側が整いました。
次はテーブルと、今回利用するサンプルのデータを登録しておきます。
データの登録には Huston (CTP) を使いました。

まぁ、テーブル作ってデータ登録するだけですので詳細は割愛します。

準備としては以上です。

 

SQL Azure OData Service の設定

http://www.sqlazurelabs.com/ にブラウザから接続して、SQL Azure Labs にログオンします。
左の一覧に SQL Azure OData Service タブがあるのでクリックし、先ほど作成した SQL Azure 上のデータベースへ接続します。
接続が正常に行えれればDBの一覧が表示されますので、先ほど作成したDBを選択し、"Enable OData”にチェックを入れます。
User Mappingでは No Anonymous Access から “dbo”を選択し、匿名アクセスを許可しておきます。

※今回はサンプルなので匿名アクセスにしました。最終的には Windows Azure Platform AppFabric の Access Control Service と連携し認証の制御等がちゃんと行えるようになるかと思います。

さて、SQL Azure OData Service の設定はこれでおしまいです。
凄くあっけなかったですね。

 

接続してみる

さてこれでODataでアクセスできるはずです。
ということで、 OData Explorer を使って接続してデータを取得してみたいと思います。

まず接続先を聞かれるので、OData Service Uri に先ほどの SQL Azure OData Service ポータル画面の一番下に表示されていたURIを入力します。

例)https://odata.sqlazurelabs.com/OData.svc/v0.1/lo508l5vsi/WorkingHours

正常に接続できれば、以下の画面のようにDBの中身がOData経由で見ることができます。

さて、これでODataでちゃんと見ることができました。
ちゃんちゃん。

と終わっては少し面白味にかけるので、もう1つ試してみたいと思います。

 

PowerPivot for Excel で接続してみる

ODataクライアントは上記のほかにもたくさんありますが、Excel 2010 をお持ちであれば PowerPivot for Excel 2010 を使ってODataに接続することができます。

早速上記URLから辿るか、こちらのダウンロードリンクから PowerPivot for Excel 2010 をインストールしましょう。

インストール後、Excelを起動すると PowerPivot タブが増えています。
PowerPivot タブにある PowerPivotウィンドウ ボタンをクリックし、[外部データの取り込み]-[データフィードから]を選択します。

データフィードURLには先ほどと同じODataへのURIを入力します。

問題が無ければ、テーブルが表示されますので、テーブルを選択後データをインポートして完了します。

正常にインポートできればExcelのシート上に、ODataから取得したデータが表示されます。

さてここまでで PowerPivot の設定は完了です。
データを更新する場合は、データ更新ボタンから行えますし、複数テーブルある場合はリレーションも作成することができます。

また、Excelですので、ピボットテーブル等を駆使してデータを視覚的に見ることが容易です。

※サンプルデータが悪かったのと、おいらがピボット使いこなせないせいでイマイチな画面になってしまいました…

 

まとめ

ODataは非常に強力で、AtomやXML、JSONなど幅広く対応できる、今後流行しそうな仕組みです。

今まではODataでデータを公開するには WCF Data Services 等を使ってサービスを作らないといけなかったのですが、 SQL Azure + SQL Azure OData Service を使うことでノンコーディングでここまでできました。
※とはいってもアクセス権や細かな制御はどうするの、という話がありますがまだLabsですし、今後に期待したいと思います。
ODataには認証と認可の仕組みも本来ありますし、SQL Azure をそのまま公開するよりは断然よいと思います。

ODataを使うことで、データの再利用性が高まるだけでなく、普段Excelをメイン業務で使っているような、マネージメント層の方達に容易に情報を提供することが可能、ということです。

あと、これはLabsである現時点だけ使えるネタかもしれませんが、SQL Azure の課金対象はDBの使用量なんですよね。
(Web Editionで979.02円/最大1GBまで/月)

つまり、本来ODataで公開するには SQL Azure にプラスして Windows Azure コンピューティングの時間による課金も必要だったのが SQL Azure OData Service を使うことで不要になります!

手元にSQL Server がなくて、でも分析したいなぁあ!という方はさくっと SQL Azure を借りて SQL Azure OData Service + PowerPivot for Excel で分析!不要になったら削除!ということもできるわけです。
まさにクラウドコンピューティングな感じですね~多少無理がありますがw

という感じで今日は SQL Azure の小ネタを書いてみました。

SQL Azure OData Service (Labs) でデータをいじる」への1件のフィードバック

  1. ピンバック: .NET Clips

コメントを残す