今回は、Windows Azure のストレージサービスで利用できるドライブを試してみました。
ドライブを作成し、そのドライブに、テキストファイルを保存する方法を記載したいと思います。
(1) ローカルストレージを定義します。
以下のローカルストレージ設定画面で、ローカルストレージを定義します。
Name:DriveStorage、Size(MB):10、Clean on role recycleにチェックを付けます。

(2) 今回は、開発ストレージを利用したいと思いますので、設定画面で下記のように設定しました。


(3) コーディング例です。ポイントは赤字です。
①Default.aspx側
<form id="form1" runat="server">
<div>
名前:<asp:TextBox ID="tbName" runat="server"></asp:TextBox>
<asp:Button ID="btnCreate" runat="server" Text="作成" onclick="btnCreate_Click" />
</div>
</form>
② 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.StorageClient;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.ServiceRuntime;
using System.IO;
namespace WebRole1
{
public partial class Default : System.Web.UI.Page
{
private CloudDrive drive;
protected void Page_Load(object sender, EventArgs e)
{
var account = CloudStorageAccount.FromConfigurationSetting("psxconn");
var local = RoleEnvironment.GetLocalResource("DriveStorage");
CloudDrive.InitializeCache(local.RootPath + "cache",
local.MaximumSizeInMegabytes);
var blobClient = account.CreateCloudBlobClient();
var blobContainer = blobClient.GetContainerReference("drive");
blobContainer.CreateIfNotExist();
drive = account.CreateCloudDrive("drive/testdrive");
try
{
drive.Create(100);
}
catch (CloudDriveException ex)
{
}
}
protected void btnCreate_Click(object sender, EventArgs e)
{
var driveletter = drive.Mount(20, DriveMountOptions.None);
using (var writer = new StreamWriter(driveletter + "//" + tbName.Text +
".txt"))
{
writer.Write(tbName.Text);
}
drive.Unmount();
}
}
}
(4) 実際に実行して、「作成」ボタンで書き込みます。

(5) 実際にドライブが作成されているか確認してみましょう。
Storage Emulator のFileメニューからOpen Azure Drive Folder in Windows Explorerを選択して、
確認するとドライブが作成され、テキストファイルが保存されていることが分かります。

