WEB开发网
开发学院服务器云计算 Windows Azure Platform (十六)Windows Azure Dri... 阅读

Windows Azure Platform (十六)Windows Azure Drive

 2012-03-22 12:03:57 来源:WEB开发网   
核心提示: 2)添加Name为XDrives,Type选择String,Windows Azure Platform (十六)Windows Azure Drive(2),然后输入[xdrive_label=MyDriveA,blob_container=gallery,page_blob_vhd=a.vhd,xdrive

 

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

上一页  1 2 

Tags:Windows Azure Platform

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接