Windows Azure入门:使用Blob Storage
2010-05-17 00:00:00 来源:WEB开发网为了方便.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调试程序。如果一切正常你将会看到输出的消息如下图所示:
更多精彩
赞助商链接