技术开发 频道

Windows Azure入门:使用Blob Storage

  【IT168技术】本文将会介绍如何使用Blob Storage。Blob Storage可以看做是云端的文件系统。与桌面操作系统上不同,我们是通过REST API来进行对文件的操作。

  为了方便.NET开发人员,我们在SDK中提供了Microsoft.WindowsAzure.StorageClient类来帮助发送REST请求。

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

  由于我们要在本地模拟环境下测试Blob Storage,首先,请确保Development Storage的管理器程序已经启动。我们可以找到管理器的进程手动启动或者让Visual Studio帮助我们启动他。

  右击工具栏中Development Fabric的图标,选择”Show Development Storage UI”。弹出如下图所示的窗口:

创建解决方案和项目

  我们要关注的是Service management中Blob所在的一行。要确保Status为Running。

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

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

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

        步骤三:添加代码

首先引用命名空间:

  
using Microsoft.WindowsAzure;

  
using Microsoft.WindowsAzure.StorageClient;

  然后在Main方法中加入如下代码:

  
static void Main(string[] args)

  {

  var storageAccount
= CloudStorageAccount.DevelopmentStorageAccount;

  var blobclient
=storageAccount.CreateCloudBlobClient();

  
// 检查container是否被创建,如果没有,创建container

  var container
=blobclient.GetContainerReference("helloworldcontainer");

  container.CreateIfNotExist();

  
// 新建一个blob,内容为"Hello World"

  var blob
=container.GetBlobReference("myfile");

  blob.UploadText(
"Hello World!");

  
// 读取并显示blob内容

  var blobcontent
=blob.DownloadText();

  Console.WriteLine(blobcontent);

  
// 删除blob

  var succeed
= blob.DeleteIfExists();

  Console.WriteLine(succeed ?
"Delete Succeed" : "Delete Failed");

  Console.ReadLine();

  }

    步骤四:观察并分析代码

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

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

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

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

  检查container是否被创建,如果没有,创建container

  新建一个blob,内容为"Hello World"

  读取并显示blob内容

  删除blob

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

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

  步骤五:运行程序

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

创建解决方案和项目

0
相关文章