码迷,mamicode.com
首页 > 其他好文 > 详细

使用Azure Blob存储

时间:2015-02-04 14:22:28      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

可以通过多种方式来对Azure Blob进行操作。在此我们介绍通过VS的客户端及代码两种方式来操作Blob。

一、通过VS来操作Blob.

   1.首先下载publish settings 文件:打开“https://manage.windowsazure.cn/publishsettings/index”,登陆China Azure,下载publish Settings文件到本地。

       技术分享 

   2.      打开Visual Studio, 选择 View -> Server Explorer

       技术分享 

  3.    在左侧面板,右键点击Windows Azure, 选择Manage Subscriptions;

       技术分享 

  4.       Manage Microsoft Azure Subscriptions中点击Certificates(0)选项卡。 点击Import,把第一步下载的Publish settings文件导入

       技术分享 

    5.展开Azure->Storage下的存储(我的存储实例为terryteststorage)
       技术分享

     6.  点击存储实例下的Blobs即可查看此存储下有哪些Container及每个Container下存储的数据信息。

      技术分享 

     7.   上传文件到指定的Container。先在Blobs上右击,然后选择Create Blob Container,然后弹出创建Container页面。

         技术分享 

        技术分享

     8.   输入Container名称”test1”,然后点击OK按钮。

 

        技术分享 

    9.至此,test1已创建成功,test1中未有任何数据

       技术分享

    10.    上传文件到test1中。点击页面上方的Upload Blob按钮

          技术分享 

    11.     在弹出的上传控件中选择要上传的文件后,单击OK按钮。

         技术分享 

   12.    至此,选择的文件已上传到test1中。

       技术分享 

 二、通过 Storage API来创建Container、显示Container及上传文件到指定的Container.        

     1. 创建AzureBlockStorage类型工程, 输入工程名称” DataBlobStorageExample”,点击OK.

         技术分享  

    2.    具体代码实例如下:   

        static StorageCredentials credentials = new StorageCredentials("terryteststorage""0HnFgkllVNf7m0dTBM/U7hbC96o/YUVH ==");

        static CloudStorageAccount storageAccount = new CloudStorageAccount(credentials,new Uri("https://terryteststorage.blob.core.chinacloudapi.cn/"),
            new Uri("https://terryteststorage.queue.core.chinacloudapi.cn/"),
            new Uri("https://terryteststorage.table.core.chinacloudapi.cn/"),null);

        static void Main(string[] args)
        {
            
            CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();   
            //create container
            CloudBlobContainer container = blobClient.GetContainerReference("container1");
            container.CreateIfNotExists();

            //List containers
            List<CloudBlobContainer> containers ;
            if (ListContainers(out containers))
            {              
                if (containers != null)
                {
                    foreach (CloudBlobContainer container2 in containers)
                    {
                        Console.Write(container2.Name + " ");
                    }
                    Console.WriteLine();
                }
            }         
                        //put file to blob
            PutBlob("container1""blob1.txt""This is a text blob!");   


  public static bool ListContainers(out List<CloudBlobContainer> containerList)
        {
            CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
            containerList = new List<CloudBlobContainer>();
            try
            {
                IEnumerable<CloudBlobContainer> containers = blobClient.ListContainers();
                if (containers != null)
                {
                    containerList.AddRange(containers);
                }
                return true;
            }
            catch (Exception ex)
            {
              

                throw;
            }
        }

  public static  bool PutBlob(string containerName, string blobName, string content)
        {
            try
            {
                CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
                CloudBlobContainer container = blobClient.GetContainerReference(containerName);
                ICloudBlob blob = container.GetBlockBlobReference(blobName);
                string filePath = @"D:\Terry\blocktest.txt";
                blob.UploadFromFile(filePath, FileMode.OpenOrCreate);
                return true;
            }
            catch (Exception ex)
            {

                Console.WriteLine("error in Putblock");
            }
        }

 

      3. 运行结果

        技术分享 

           技术分享

使用Azure Blob存储

标签:

原文地址:http://www.cnblogs.com/abcdwxc/p/4272168.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!