Windows Azure Platform (十六)Windows Azure Drive
2012-03-22 12:03:57 来源:WEB开发网
2)添加Name为XDrives,Type选择String。然后输入
[xdrive_label=MyDriveA,blob_container=gallery,page_blob_vhd=a.vhd,xdrive_sizeMB=80,mount_cache_sizeMB=20,create=Yes];[xdrive_label=MyDriveB,blob_container=gallery,page_blob_vhd=b.vhd,xdrive_sizeMB=180,mount_cache_sizeMB=20,create=Yes];
上面的红色部分是可以由开发人员自己配置的,我在这里简单介绍一下:
a.我这个例子可以挂载2个Azure Drive,显示名称分别是MyDriveA和MyDriveB
如果需要挂载3个Azure Drive,我们就这样修改:
[xdrive_label=MyDriveA,blob_container=gallery,page_blob_vhd=a.vhd,xdrive_sizeMB=80,mount_cache_sizeMB=20,create=Yes];
[xdrive_label=MyDriveB,blob_container=gallery,page_blob_vhd=b.vhd,xdrive_sizeMB=180,mount_cache_sizeMB=20,create=Yes];
[xdrive_label=MyDriveC,blob_container=gallery,page_blob_vhd=c.vhd,xdrive_sizeMB=280,mount_cache_sizeMB=20,create=Yes];
b.blob_container表示Azure Blob Storage的ContainerName, ContainerName可以使用不同的名称。
page_blob_vhd表示blob的名称(为了强调这个例子是Azure Drive,我把blob名称后缀改成了.vhd,大家可以按照自己的喜好修改blob名称,但是要注意命名规则,具体请参考Windows Azure Platform (七) Windows Azure Storage Service存储服务里的相关内容)
c.xdrive_sizeMB表示创建的Azure Drive盘符的大小,我这里设置2个Azure Drive分别是80M和180M
d.mount_cache_sizeMB表示创建的Azure Drive的缓存大小,我这里都设置成20M
e.create=Yes表示我对于Azure Drive的操作权限是读写操作。
3)添加Name为XDrivesLocalCache, Type为String, Value设置成MyXDrivesLocalCache
修改后的配置文件如下
4)选择Local Storage,点击"Add Local Storage",在Name里面输入MyXDrivesLocalCache, Size设置为1000。如下图
设置完成,保存项目。
4.修改Default.aspx页面,可以到这里下载
核心代码如下:
//查询到所有已经挂载成功的Azure Drive //string表示Azure Drive的盘符,比如F: G:等 //Uri表示可以访问的Azure Blob Uri IDictionary<string, Uri> dicMountedDrives = CloudDrive.GetMountedDrives(); foreach (KeyValuePair<string, Uri> mountDrive in dicMountedDrives) { if (mountDrive.Key == DrpMountedDrives.SelectedItem.ToString()) { DrpMountedUrl.SelectedValue = mountDrive.Value.ToString(); return; } }
最后我们可以重新编译整个Azure Drive项目,并部署到微软的云计算平台。
可以通过http://leiazuredrive.cloudapp.net/来访问
我们可以看到
1)第一个Azure Drive在NTFS文件系统里盘符是B盘,对于Azure Blob Storage来说URL是
http://threestone.blob.core.windows.net/gallery/a.vhd
2)第二个Azure Drive在NTFS文件系统里盘符是F盘,对于Azure Blob Storage来说URL是
http://threestone.blob.core.windows.net/gallery/b.vhd
那我们已经写好的的Web应用程序就可以通过Azure Drive快速且方便地迁移到Windows Azure平台之上而不需要进行大量的修改。已有的System.IO的API(比如创建文件、创建文件夹、复制文件)等的操作,其实就是对于Azure Blob的操作。
我们通过Azure的远程桌面连接(后面几章我会做详细的介绍),也能看到本地已经挂载上的Azure Drive。且盘符的大小就是我们之前指定的80M和180M
参考网站:http://www.codeproject.com/Articles/81413/Windows-Azure-Drives-Part-1-Configure-and-Mounting
更多精彩
赞助商链接