微软Azure的Storage套件中提供了新的服务File Service,让我们运行在Azure中的程序都能共享存储,一个存储账号共享的没有上线,但每个共享的上限是5G。由于File Service采用了SMB2.1协议,所以对我们来说,存储是透明的,可以直接使用盘符路径的形式来对文件进行存储。例如.Net平台中System.IO.File。

下面简单介绍一下本次使用File Service的过程。另外,File Service是支持Linux的,不过这次是部署在Windows上面的。

准备存储账号


Azure中存储账号

建立File Service共享


通过File Service的API在一个存储账号中建立一个共享

可以直接使用微软提供的Sample建立共享,地址https://github.com/Azure-Samples

中国Azure提供的服务地址与微软默认的地址不一样,所以在配置文件中需要修改,可以在这里找到区别https://msdn.microsoft.com/zh-cn/library/azure/dn578439.aspx

挂载File Service共享


进入VM控制台,添加网络凭证

Cmdkey   /add:<yourstorageaccountname>.file.core.chinacloudapi.cn /user:<yourstorageaccountname> /pass:<YourStorageAccountKeyWhichEndsIn==>

可以查看网络凭证是否保存成功

cmdkey /list

 

保存网络凭证是为了在VM重启后自动挂载共享

 

挂载共享

net use * \\filedemo. file.core.chinacloudapi.cn\demo1

demo1是刚才通过API建立的共享

挂载成功后可以在文件浏览器中看到

至此,File Service已经成功挂载在VM中,其他的细节包括如何在Web以及WebRole、WorkRole中挂载存储共享可以参考这篇文章

http://blogs.msdn.com/b/windowsazurestorage/archive/2014/05/27/persisting-connections-to-microsoft-azure-files.aspx

目前在VM中,我们可以写一些程序RUN起来,直接像使用本地磁盘一样使用File Service,例如

不过有个问题,如果我们要在VM的IIS网站中访问,会报错。原因我想大家也很清楚,权限问题,IIS运行的账户和我们挂载共享的账户不是同一个。

在抹黑探索了一番之后,终于让IIS能够访问文件共享。就其本质实际上是和我们原来搭建网络文件共享一样,不过在云端我们无法看见具体的机器,是很抽象的,所以我们只有假象为主,实践为主。

以前在IIS中访问网站物理目录以外的本地目录,我们通常都使用虚拟目录,同样,如果我们有网络目录挂载在本机中,也是可以使用虚拟目录来访问,这里实际上是一样的。2台物理机器同样使用Windows系统,IIS在A机器中,共享文件夹在B机器中,在B机器分配一个用户并文件夹的使用权限赋予该用户,在A机器中挂载B机器的文件夹共享,配置A机器的IIS,增加虚拟目录并使用该账户登录。

这里实际上也是同样的道理,不过有些细节不一样。

可以把我们的VM想象成A机,而文件共享是B机。

为VM创建账户


这里创建的账户名称必须和Azure的存储账户名称相同,密码也是存储账号的访问密钥

 

设置IIS应用程序池标识


在IIS的应用程序池中找到该网站使用的APP,右键属性高级设置里设置其标识,输入刚才创建的账户名及密码

创建虚拟目录


创建虚拟目录,虚拟目录的地址请使用挂载共享使用的地址

点击这里 选择特定用户的设置,将刚才创建的账户名以及密码输入即可。

将File Service看做一台物理机的话,那么存储账户就是在其上面创建的账户,在自己的VM这边输入账户凭证即可。

在.NET中我们现在可以通过HttpContext.Current.Server.MapPath方法来获取真实的物理路径并对文件进行存储而不需要关注其具体位置了。

Azure File Service in IIS的更多相关文章

  1. 通过Azure File Service搭建基于iscsi的共享盘

    在Azure上目前已经有基于Samba协议的共享存储了. 但目前在Azure上,还不能把Disk作为共享盘.而在实际的应用部署中,共享盘是做集群的重要组件之一.比如仲裁盘.Shared Disk等. ...

  2. Azure File Storage 基本用法 -- Azure Storage 之 File

    Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table. 笔者在<Azure Blob Storage 基 ...

  3. 【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)

    问题描述 把Web Role服务发布到Azure Cloud Service后,需要在IIS的输出日志中,把每一个请求的HTTP Request Header中的User-Agent内容也输出到日志中 ...

  4. Windows Azure文件共享服务--File Service

    部署在Windows Azure上的虚拟机之间如何共享文件?例如:Web Server A和Web Server B组成负载均衡集群,两个服务器需要一个共享目录来存储用户上传的文件.通常,大家可能首先 ...

  5. Azure AD Domain Service(二)为域服务中的机器配置 Azure File Share 磁盘共享

    一,引言 Azure File Share 是支持两种认证方式的! 1)Active Directory 2)Storage account key 记得上次分析的 "Azure File ...

  6. Windows Azure Storage (20) 使用Azure File实现共享文件夹

    <Windows Azure Platform 系列文章目录> Update 2016-4-14.在Azure VM配置FTP和IIS,请参考: http://blogs.iis.net/ ...

  7. 【Azure 云服务】如何从Azure Cloud Service中获取项目的部署文件

    问题描述 在历史已经部署的云服务(Azure Cloud Service)中,如何获取到项目在很久以前的部署包文件呢? 解决办法 1)如果部署云服务是通过门户上传部署包到存储账号中,则可以直接从存储账 ...

  8. Windows Azure Cloud Service (39) 如何将现有Web应用迁移到Azure PaaS平台

    <Windows Azure Platform 系列文章目录> 本文将简单介绍,如何将企业内现有的ASP.NET应用程序迁移到Azure PaaS平台. 因为在迁移过程中,可能需要对现有的 ...

  9. 如何使用 OneAPM 监控微软 Azure Cloud Service ?

    不知不觉微软 Azure 已经进入中国市场近两年的时间.那么 Azure 平台的性能究竟如何?资源加载的延迟.虚拟机的稳定性等问题是否切实满足客户期许.这些都是大家对微软 Azure 这个国外的云服务 ...

随机推荐

  1. Windows Phone开发(18):变形金刚第九季——变换

    原文:Windows Phone开发(18):变形金刚第九季--变换 变换不是一个好理解的概念,不是吓你,它涉及很多有关代数,几何,以及线性代数的知识.怎么?被我的话吓怕了?不用怕,尽管我们未必能够理 ...

  2. Array of Objects

    You should be comfortable with the content in the modules up to and including the module "Array ...

  3. java大全经典的书面采访

    果学网  -专注IT在线www.prismcollege.com 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面.以便更充分地注意与当前目标有关的方面.抽象并 ...

  4. c++程序代写(qq:928900200)

     1. Both main memory and secondary storage are types of memory. Describe the difference between the  ...

  5. 阅读UML类图和时序图

    这里不会将UML的各种元素都提到.我仅仅想讲讲类图中各个类之间的关系. 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同一时候,我们应该能将类图所表达的含义和终于 ...

  6. GNU名称解析

    GNU它是GNU's NOT UNIX缩写G     N    U缩写,和GNU全名GNU's NOT UNIX 中间 GNU 也GNU's NOT UNIX缩写,它使用递归方式定义GNU.

  7. 区域及分离、Js压缩、css、jquery扩展

    后台管理区域及分离.Js压缩.css.jquery扩展 本系列目录:ASP.NET MVC4入门到精通系列目录汇总 有好一段时间没更新博文了,最近在忙两件事:1.看书,学习中...2.为公司年会节目做 ...

  8. 合作编辑室计费系统(一)-SVN常见错误

    联合室已完成,在不到一个月的时间,我们的团队:嗤.陈琛.我.这段时间都挺辛苦的.从心里这次合作,真的让我们学习了非常多,学会了接纳和承担. 在我们開始合作机房的时候,社和师哥就给我们做了功课,说你们好 ...

  9. redmine使用汇总redmine软件工程过程

    1.强制性当一个新的问题:轨道.议题.叙述性说明.状态.优先.分配给.父任务(假设没有可以不填,假设有请务必填写).开始日期.预计时间.党羽,请注意,这时候一定不要填写完成时间 2.如果你想在实时登记 ...

  10. Streak OpenCart 商城自适应主题模板 ABC-0010

    兼容浏览器 IE9, Firefox, Safari, Opera, Chrome OpenCart版本号 OpenCart 1.5.x, OpenCart 1.5.6.x, OpenCart 1.5 ...