Windows Azure を使ってみるテスト(ストレージ編)
いよいよ、Windows Azure 無料評価版が最終日となりました。今回はストレージ機能を使ってみたいと思います。
Windows Azure はストレージ機能として
- BLOB
- キュー
- テーブル
が使えるようです。今回は、その中で「キュー」を使って読み書きのテストをしてみたいと思います。
1. Visual Studio Express 2013 for Web を起動する
昨日のクラウド サービスのプロジェクトを読み込みます。このプロジェクトを修正してキューの読み書きの機能を追加してみます。
2. 接続文字列の設定を追加する
[ソリューション エクスプローラー] - [WebRole1] のプロパティを開き、接続文字列の設定を追加します。
3. サンプルコードを書いてみる
- Default.aspx より抜粋
: <div class="row"> <div class="col-md-4"> <h2>メッセージを送信</h2> <p> <asp:Button ID="ButtonPut" OnClick="ButtonPut_Click" runat="server" Text="Put" /> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </p> </div> <div class="col-md-4"> <h2>メッセージを受信</h2> <p> <asp:Button ID="ButtonGet" OnClick="ButtonGet_Click" runat="server" Text="Get" /> <asp:Label ID="Label1" runat="server" Text="ここに結果が表示されます。"></asp:Label> </p> </div> </div> :
- Default.aspx.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Microsoft.WindowsAzure.Storage; using Microsoft.WindowsAzure.Storage.Auth; using Microsoft.WindowsAzure.Storage.Queue; using Microsoft.WindowsAzure; namespace WebRole1 { public partial class _Default : Page { protected void Page_Load(object sender, EventArgs e) { } // キューにメッセージを送信する protected void ButtonPut_Click(object sender, EventArgs e) { // ストレージアカウントを用意する CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString")); // キュークライアントを作成 CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient(); // キュー参照を取得する CloudQueue queue = queueClient.GetQueueReference("myqueue"); // 存在してなければキューを作成する queue.CreateIfNotExists(); // テキストボックスの内容を取得する string strMessage = TextBox1.Text; // キューメッセージを作成する CloudQueueMessage message = new CloudQueueMessage(strMessage); // キューにメッセージを書き込む queue.AddMessage(message); } // キューからメッセージを受信する protected void ButtonGet_Click(object sender, EventArgs e) { // ストレージアカウントを用意する CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString")); // キュークライアントを作成する CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient(); // キュー参照を取得する CloudQueue queue = queueClient.GetQueueReference("myqueue"); // 次のメッセージを取得する CloudQueueMessage retrievedMessage = queue.GetMessage(); // メッセージを書き込む Label1.Text = retrievedMessage.AsString; // キューから取り出したメッセージを削除する queue.DeleteMessage(retrievedMessage); } } }
4. 発行してみる
5. 実行してみる
キューにメッセージ「Hello, World!」を投入してみます。
キューからメッセージを取得してみます。
メッセージ「Hello, World!」を取得できました。
6. Azure Storage Explorer をダウンロードしてみる。
Windows Azure のストレージ(BLOB/キュー/テーブル)の情報を表示することが出来る「Azure Storage Explorer」というツールがあるようなので、使ってみたいと思います。
以下よりダウンロードできます。
インストールは、ウィザードに従って行ってください。
7. Azure Storage Explorer を使ってみる。
起動してみます。
初期状態では、Windows Azure に接続していない為、情報が見れないようです。
「Add Account」にて「ストレージ アカウント」の情報を追加します。
接続できました。
デフォルトだと「BLOB」の情報が表示されるようです。
[Storage Type] - [Queues] を選ぶと、キューの中身が見れるようです。
リストよりレコードを選択してダブルクリックすると、詳細が見れるようです。
プロパティ情報です。登録日時と有効期限などの情報を持っているようです。
メッセージとして「Hello, World!」が入っていることが確認できました。
もう少し、いろいろと試したかったのですが、無料評価版が時間切れの為、ここまでにしたいと思います。
ちなみに、ローカル環境でも Windows Azure SDK が入っていれば、Windows Azure Emulator を介してストレージ機能が試せるので、なんとなく気分を味わいたい人は、それを使うというのもアリだと思います(笑)
参考
■ キュー ストレージ サービスを使用する方法 - Windows Azure
http://www.windowsazure.com/ja-jp/develop/net/how-to-guides/queue-service/
→ 現在、日本語の説明ページは画像がリンク切れの為、英語のページを推奨します。
■ How to use the queue storage service - Windows Azure(英語)