Windows Azure for Node.jsでAzureストレージを扱おう

CodeZine / 2012年7月10日 14時0分

図4:BLOBプロパティの表示

 本稿では、Windows Azure SDK for Node.jsを利用したAzureストレージの利用方法について紹介します。

■はじめに

 過去数回にわたってWindows Azure SDK for Node.jsについて解説してきましたが、今回はサンプルをベースにWindows AzureストレージサービスとWebフレームワークであるExpressを組み合わせた利用方法について解説します。

■対象読者

 今回の対象読者は以下のとおりです。

過去連載内容程度のWindows AzureとNode.jsの知識がある方  既にWindows Azureをご存じの方は、やや繰り返しとなる部分が出てくるかもしれませんがご了承ください。

■必要な環境

 Node.jsの実行環境として以下を利用します。

Windows Azure SDK for Node.js(July 2012) ■Windows Azureストレージサービスとは

 Windows Azureストレージサービス(以降、Azureストレージ)とは、Windows Azure Platformで提供される外部記憶域です。Azureストレージには、BLOB・テーブル・キューと呼ばれる3つストレージが提供されています。下表に3つのストレージの特徴を示します。

表1 各ストレージの特徴
名前 用途 BLOB テキストやバイナリファイルなどの保管 テーブル 非リレーショナルなデータベース キュー 非同期のメッセージ通信用。FIFOなキューを提供
 またAzureストレージの操作は、最終的にはすべてREST APIへの操作となります。したがって、.NETフレームワークだけではなく、JavaやPHP、本稿で説明するNode.jsなどさまざまな言語に対応したライブラリが公開されています。

 今回説明するBLOBについての詳細は、CodeZineの記事『ブロブとテーブルを使用したWindows Azureストレージプログラミング』などを参考にしてください。

●Windows Azureストレージエミュレータの準備

 『Windows AzureでNode.jsを実行しよう』(CodeZine)に沿ってWindows Azure SDK for Node.jsをインストールしてあれば、同時にWindows Azure SDKもインストールされます。この中には、コンピュートエミュレータとともに、Windows Azureストレージの疑似実行環境である、ストレージエミュレータもインストールされています。

 スタートメニューから、[Windows Azure Emulator]-[Storage Emulator]を選択して、ストレージエミュレータが起動することを確認してください。これによってBLOB、テーブル、キューがローカルPC上で利用可能となります。今回のサンプルは、ストレージエミュレータを利用します。

●プロジェクトの準備

 それでは、サンプルとしてBLOBへのファイルアップローダーを作成していきます。

●[1]プロジェクトを準備する

 Windows AzureプロジェクトとWebロールを作成します(リスト1)。

[リスト1]プロジェクト作成
> New-AzureServiceProject sample …(プロジェクトの作成) > Add-AzureNodeWebRole WebRole1 …(Webロールの追加)
●[2]Azureライブラリのインストール

 Azureストレージを操作するライブラリ(以降、Azureライブラリ)は、npmコマンドでインストールします。リスト2の手順でAzureとExpressのライブラリをインストールし、最後にexpressコマンドを実行してExpressフレームワークを利用する準備を行います。

[リスト2]プロジェクト作成
> cd WebRole1 > npm install azure …(Azureライブラリのインストール) > npm installl express …(Expressのインストール) > . ode_modules\.bin\express -t ejs …(EJSテンプレートの展開) > npm install …(EJS展開後必要なライブラリのインストール)
 Node.js向けのAzureライブラリには、Azureストレージとサービスバスの操作ライブラリが含まれます。また、ライブラリのソースは、GitHub上に「WindowsAzure / azure-sdk-for-node」として公開されています。興味がある方は参照ください。

補足 サンプルについて
 サンプルをダウンロードした場合は、WebRole1フォルダで、引数なしの「npm install」コマンドを実行すれば必要なライブラリがインストールされます。





■関連記事
Windows Azure for Node.jsでキュー、テーブルを操作しよう
基幹系システムの基本構成とCloud SQLのCRUD処理
Windows Azure for Node.jsでAzureストレージを扱おう
テーブルを操作するjQueryプラグイン
新Windows Azureのお披露目

■記事全文へ

CodeZine

この記事に関連するニュース

トピックスRSS

ランキング