• Windows Azure入门教学:使用Blob Storage


    对于.net开发人员,这是一个新的领域,但是并不困难。本文将会介绍如何使用Blob Storage。Blob Storage可以看做是云端的文件系统。与桌面操作系统上不同,我们是通过REST API来进行对文件的操作。有关REST API的详细信息,请参见Blob 服务 API。

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

    在开始本教学之前,请确保你从Windows Azure 平台下载下载并安装了最新的Windows Azure开发工具。本教学使用Visual Studio 2010作为开发工具。下面是我们常见的首先:

    步骤一:创建解决方案和项目
    由于我们要在本地模拟环境下测试Blob Storage,首先,请确保Storage Emulator已经启动。我们可以找到管理器的进程手动启动或者让Visual Studio 2010帮助我们启动他。

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






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


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

    步骤二:添加SDK程序集引用
    请在项目属性页里确认项目的Target framework的值是.NET Framework 4或.NET Framework 3.5。然后添加对C:Program FilesWindows Azure SDKv1.3 efMicrosoft.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自带账户而不是真正的云端存储服务账户。(如果要用真实账户可以使用

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

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



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

    • 检查container是否被创建,如果没有,创建container
    • 新建一个blob,内容为"Hello World"
    • 读取并显示blob内容
    • 删除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按钮完成创建。等待创建过程完成后,我们可以看到系统给我们分配了3个URL,分别是Blob URL、Table URL和Queue 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作为存储服务。

    http://www.aboutyun.com/thread-5722-1-1.html

  • 相关阅读:
    HDOJ1301 Jungle Roads[最小生成树Prim()]
    HDOJ1166 敌兵布阵[线段树求和]||HDOJ1754 I Hate It[线段树求最大值]
    HDOJ2159 FATE[DP背包问题]
    ZOJ3175 Number of Containers[数学题]
    POJ1791 Parallelogram Counting[数学题平行四边形求个数]
    HDOJ1281 棋盘游戏[匈牙利(最大匹配)+枚举]
    HDOJ1045 Fire Net[二分图匈牙利算法]
    POJ2449 Remmarguts' Date[K短路入门题(Dijkstra()||Spfa()+A*)]
    Fibonacci序列
    HDOJ1568 Fibonacci[公式求前四位数]
  • 原文地址:https://www.cnblogs.com/yunkaifa/p/aboutyun.html
Copyright © 2020-2023  润新知