はじめに
今回もサンプルをベースにWindows Azureストレージのうち、キューとテーブルの利用方法について解説します。
対象読者
今回の対象読者は下記のとおりです。
- 過去連載内容程度のWindows AzureとNode.jsの知識
すでにWindows Azureをご存じの方はやや繰り返しとなる部分が出てくるかもしれませんがご了承ください。
必要な環境
- Windows Azure SDK for .Node.js
非同期にメッセージを交換する - キュー
一般的にキューといえば、非同期なメッセージ交換を行うために利用されるFIFO(First In First Out 先入れ先出し)なデータ構造を持つものです。Azureストレージのキュー(以下、特に断らない限りAzureストレージのキューを指します)も、これら一般的なキューと同様な構造を持っています。
ここでは、サンプルをベースにポイントとなるキューの利用方法について解説していきます。また、利用するフレームワークも前回同様Expressなので、説明済みの部分は省略しています。
サンプルの説明
はじめにキューサンプルの概要から説明します(図1)。
Webロールとワーカーロールを送信用キューと返信用キューで相互に接続するサンプルです。入力したメッセージをWebロールからワーカーロールに渡して文字列を加工し、その結果を返信用キューで受け取ります。
それでは、コードを確認する前にサンプル実行までの手順を確認します。サンプルをダウンロードして任意のフォルダに展開します。リスト1の手順に従って、Webロールとワーカーロール側に必要なモジュールをインストールし、エミュレータを起動します。
cd sample\WebRole1 npm insall …(Webロール側で必要なモジュールのインストール) cd ..\WorkerRole npm install …(ワーカーロール側で必要なモジュールのインストール) cd .. Start-AzureEmulator -Launch …(エミュレータの起動)
ブラウザが起動するので、「キューサンプル」のページを開きます(図2)(注1)。メッセージ[テキストボックス]に何か入力して、[送信]ボタンをクリックします。概要で説明したとおり、送信キューに格納されたメッセージはワーカーロール側で処理され、再び返信用キューに格納されます。格納されたメッセージは、しばらくするとブラウザに表示されます。
起動するタイミングによって画面が表示されない場合があるため、そのような場合は何度かリロードしてみてください。
それではサンプルコードについて確認していきましょう。