Windows Azure(四-2):云端的文件系统(Blob Storage)

这篇博客详细介绍了如何在Windows Azure上操作Blob Storage。首先,通过Visual Studio 2010创建项目并引用StorageClient程序集。接着,演示了如何创建Blob客户端,检查或创建容器,上传、下载及删除文件。还提到了如何使用Development Storage Account以及创建新的Storage Account,并解决.NET Framework版本问题。最后,展示了如何使用真实的Storage Account运行程序。
摘要由CSDN通过智能技术生成

前一篇《Windows Azure(四-1):Worker Role(对应传统服务器BackGroud 程序)

 

序:文件系统是操作系统的核心功能模块,用于数据文件的管理与存储;在云端当然也存在管理文件的情形,我们如何操作云端的呢?通过REST API来进行对文件的操作,具体查看Blob 服务 API

准备

      请确保你从Windows Azure 平台下载下载并安装了最新的Windows Azure开发工具。本教学使用Visual Studio 2010作为开发工具。

步骤一:创建解决方案和项目

由于我们要在本地模拟环境下测试Blob Storage,首先,请确保Storage Emulator已经启动。我们可以找到管理器的进程手动启动或者让Visual Studio 2010帮助我们启动他(运行一个项目即可)。

右击工具栏中Windows Azure模拟器的图标,选择”Show Storage Emulator UI”。弹出如下图所示的窗口:

 

 

 

我们要关注的是Service managementBlob所在的一行。要确保StatusRunning

 

确认完毕后启动Visual Studio 2010,并且新建一个Console项目。

步骤二:添加SDK程序集引用

因为 微软提供Microsoft.WindowsAzure.StorageClient类来帮助RSet API调用,发送REST请求。所以引用它的dll即可:

1. 确保:项目属性页里确认项目的Target framework的值是.NET Framework 4.NET Framework 3.5。(注意哦,一定设置,默认不是这个设置!!)

2. 然后添加对C:/Program Files/Windows Azure SDK/v1.4/ref/Microsoft.WindowsAzure.StorageClient.dll的引用。(该路径为SDK默认安装路径,如果你不能在这个路径中找到Microsoft.WindowsAzure.StorageClient.dll请从SDK安装路径中寻找。)s

步骤三:添加代码

 

 

 

运行:

 

真实的云端操作

步骤四:观察并分析代码

步骤三中的代码中,首先我们通过CloudStorageAccount.DevelopmentStorageAccount来说明我们使用的本地的Development Storage自带账户而不是真正的云端存储服务账户。(如果要用真实账户可以使用

//DefaultEndpointsProtocol=https可以改成DefaultEndpointsProtocol=http表示用HTTP而不是HTTPS

CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=[用户名];AccountKey=[密码]");

 

来实例化对象)然后通过该账户类来实例化一个Blob客户端类。这两步是使用SDKStorageClient程序集来调用Blob Storage服务的必要步骤。接下来的代码逻辑可以分为四部分:

  1. 检查container是否被创建,如果没有,创建container
  2. 新建一个blob,内容为"Hello World"
  3. 读取并显示blob内容
  4. 删除blob

第一部分,我们得到一个container的引用。就作用来说我们大致上可以把container类比成是桌面操作系统中的文件夹。我们在得到引用后检查该container是否存在。注意如果是用的真实账号,当调用CreateIfNotExist()方法后就有REST请求发出了。

后面几部分代码非常简单。我们可以看到SDK提供给我们的API是十分简单好用的。

步骤五:运行程序

F5调试程序。如果一切正常你将会看到输出的消息如下图所示:

 

步骤六:创建新的Storage Account

 

使用支持SilverLight的浏览器打开https://windows.azure.com/(注意:您可能需要输入您的Live ID和密码来通过身份验证) 点击New Storage Account

 

 

Create a New Storage Account对话框里,在标记为Choose a subscription 的下拉框里选择一个订阅选项:

 

在标记为Enter a URL的文本框里输入一个URL前缀来指定它的URL

 

 

选择区域:

 

 

最后点击Create按钮完成创建。等待创建过程完成后,我们可以看到系统给我们分配了3URL,分别是Blob URLTable URLQueue URL,以及刚才我们自己输入的用户名。

 

 

然后点击属性栏里的Primary access key或者Secondary access key可以看到这些key的值。点击View Storage Access Keys对话框里的Copy to Clipboard按钮就可以拷贝到粘贴板里了。

 

 

步骤七:使用Storage Account运行程序

 

将代码里的:

CloudStorageAccount.DevelopmentStorageAccount

替换成:

CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=[用户名];AccountKey=[密码]")

根据刚才创建的Storage Account填入用户名和密码。最后运行程序的结果是一样的。但是这次用的是Windows Azure上的Blob Storage作为存储服务。

 

 

出现问题

问题1

"Warning 3 The referenced assembly "Microsoft.WindowsAzure.StorageClient, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" could not be resolved because it has a dependency on "System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client". Please remove references to assemblies not in the targeted framework or consider retargeting your project. WT.Cloud.BlobStorageAPITest"

解决:项目版本默认是.NET platform version is set to 4.0 Client Profile ,运行便会产生此错误。项目属性页里确认项目的Target framework的值是.NET Framework 4.NET Framework 3.5 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

源:http://blogs.msdn.com/b/azchina/archive/tags/windows+azure_6551e8955965665bfb7c1752_/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值