Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94916
  • 博文数量: 50
  • 博客积分: 1424
  • 博客等级: 上尉
  • 技术积分: 430
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-17 09:48
文章分类
文章存档

2010年(50)

我的朋友
最近访客

分类: WINDOWS

2010-05-17 11:14:02

本文是Windows Azure入门教学的第四篇文章。

本文将会介绍如何使用Blob StorageBlob Storage可以看做是云端的文件系统。与桌面操作系统上不同,我们是通过 API来进行对文件的操作。有关 API的详细信息可以查阅:

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

要继续本教学,请确保自己的机体上安装了最新版的Windows Azure Tools for Microsoft Visual Studio。当前的最新版(20102月)可以从以下站点下载:

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

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

http://blogs.msdn.com/azchina/archive/2010/02/09/windows-azure-webrole.aspx

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

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

确认完毕后启动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服务的必要步骤。接下来的代码逻辑可以分为四部分:

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

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

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

步骤五:运行程序

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

阅读(690) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~