zoukankan      html  css  js  c++  java
  • 使用Azure Blob存储

    可以通过多种方式来对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:Terrylocktest.txt";
                    blob.UploadFromFile(filePath, FileMode.OpenOrCreate);
                    return true;
                }
                catch (Exception ex)
                {

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

          3. 运行结果

             

               

  • 相关阅读:
    telent

    linux系统下部署war包
    CentOS-7.0.中安装与配置Tomcat-7的方法
    ServletContextListener
    JAVA中静态块、静态变量加载顺序详解
    git 查看父分支
    Google Guice 之绑定1
    STM32 Cubemx 配置定时器定时1mS
    项目过程的几点经验总结
  • 原文地址:https://www.cnblogs.com/abcdwxc/p/4272168.html
Copyright © 2011-2022 走看看