Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  390 随笔 :: 0 文章 :: 394 评论 :: 0 引用

  《Windows Azure Platform 系列文章目录

   

  Update 2015-05-10

  强烈建议使用AzCopy工具,AzCopy命令行工具,是经过优化的、高性能Azure Storage管理工具。

  具体请参考Windows Azure Storage (21) 使用AzCopy工具,加快Azure Storage传输速度

 

   

  看过我之前几章内容的读者都知道,Azure China和Azure Global服务类型的Endpoint是不同的,比如我们创建一个Azure Storage,命名为leizhangstorage。则这个Azure Storage的Endpoint为

  -  Blob:http://leizhangstorage.blob.core.chinacloudapi.cn/

  -  Table:http://leizhangstorage.table.core.chinacloudapi.cn/

  -  Queue:http://leizhangstorage.queue.core.chinacloudapi.cn/

可以看到,Azure China Storage Endpoint为core.chinacloudapi.cn,与Global的不同。

 

  本章我将会给大家介绍,如何管理Azure China Storage Account。一般性有三种管理方式:

  1.使用Visual Studio Ultimate 2013的Server Explorer

  2.使用Visual Studio Ultimate 2013进行开发

  3.使用AzureStorageExplorer For CHN

 

  在开始介绍之前,我们先登陆Azure China管理界面,创建leizhangstorage。位置我们设置为中国东部,即上海的数据中心。如下图:

  注意:存储账号必须为英文小写

 

  方法一:介绍使用Visual Studio Ultimate 2013的Server Explorer。

  1.我们先以管理员身份,运行VS2013。

  2.打开菜单栏,View->Server Explorer

  

  3.展开Windows Azure->Storage->Attach External Storage

  

  4.在弹出的界面中,输入Account name, Account key,并且需要设置endpoint

  -  Blob:http://leizhangstorage.blob.core.chinacloudapi.cn/

  -  Table:http://leizhangstorage.table.core.chinacloudapi.cn/

  -  Queue:http://leizhangstorage.queue.core.chinacloudapi.cn/

  

  5.设置完毕后,我们就能看到创建成功的leizhangstorage这个存储账号了

  我们依次展开leizhangstorage->Blobs,点击右键,选择Create Blob Container

  

  在弹出的界面中,设置Container name为photos

  注意:Container Name也必须为小写

 

 (注意:我们鼠标左键选中之前创建的Container 即photos,可以在属性中设置这个container的属性,如下图。注意我们设置为Blob)

  

  6.在Server Explorer中,双击我们之前创建成功的photos,在右侧列表中,点击Upload Blob按钮,上传一张照片

  7.上传成功后,就可以看到执行结果。

  

  上图列表中的URL,就是我们可以通过IE直接访问的了。(注意,因为笔者在步骤5中设置了读取权限为Blob,所以可以直接通过IE访问上传的照片)

  如下图:

  

 

 

 

  方法二:使用VS 2013进行开发

  Azure China Storage Account连接字符串和Azure Global的不同,我们只需要修改相应的连接字符串,就可以直接连接Azure China Storage Account。

  以我之前创建的存储账号leizhangstorage为例,只需修改以下红色部分的内容

  -  <YourStorageAccountName>,设置Account Name

  -  <YourStorageAccountKey>,设置Account Key

BlobEndpoint=http://<YourStoragAccountName>.blob.core.chinacloudapi.cn/;QueueEndpoint=http://<YourStoragAccountName>.queue.core.chinacloudapi.cn/;TableEndpoint=http://<YourStoragAccountName>.table.core.chinacloudapi.cn/;AccountName=<YourStoragAccountName>;AccountKey=<YourStoragAccountKey>

  就可以直接连接Azure China Storage Account

 

  

  

  方法三:使用AzureStorageExplorer_For_CN

  注意:Azure Storage Explorer默认情况下,是把该Container下的所有Blob都列出来,且不分页显示

  如果Blob内容很多,就会出现卡死的情况

 

 

  这个是我的同事根据CodePlex上开源的Azure Storage Explorer(https://azurestorageexplorer.codeplex.com/),修改出来专门针对Azure China的管理工具。

  大家可以在这里下载使用。

  最新的Azure Storage Explorer已经同时支持Azure Global 和Azure China的Storage Account了。

  下载地址在:http://azurestorageexplorer.codeplex.com/

  这里我简单介绍下,如何使用Azure Storage Explorer,将本地的文件存储到Azure Storage云端。

 

  1.登陆到Azure管理界面

  Azure Global使用https://manage.windowsazure.com/

  Azure China使用https://manage.windowsazure.cn/

  创建新的Azure Storage Account,如下图:

  

  2.创建完毕后,点击创建成功的存储账号,如下图:

  

  3.页面跳转,点击下图中的"管理访问密钥"

  

  4.在弹出的窗口中,点击账户名称和主访问密钥的按钮,将存储账户名称和主访问密钥复制到记事本上

  

  5.安装Azure Storage Explorer,并以管理员身份运行  

  在主界面上点击"Add Account",如下图:

  

  在弹出的界面中,

  Storage Account Name复制我们在步骤4中的内容

  Storage Account Key复制我们在步骤4中的内容

  注意:如果使用的Azure Global的存储账号,请选择Microsoft Azure Default

  如果使用的是由世纪互联运维的Azure China,请选择Microsoft Azure China。如下图:

  

  设置完毕后,按Save,进行保存。

 

  6.回到Azure Storage Explorer主界面,我们在下拉框选择之前设置成功的leidemo

  选择Blob Containers,然后选择"New"按钮,如下图:

  

 

  7.在弹出的界面中,我们设置container name为public,

  (注意Container Name只能使用小写字母)

  

  Access Level分为三种类型:

  -  Off:不允许匿名用户读取该容器中的Blob;

  -  Public Container:匿名用户可以读取该Container,并且可以列出Container所有Blob内容;

  -  Public Blob:匿名用户只能读取Blob,即只能根据Blob的URL来读取Blob,无法列出Container下所有的Blob。

  笔者需要实验匿名访问的功能,我们选择Public  Blob。

  (注意,如果是私密性很强的文件,需要将Access Level设置为Off)

 

  8.创建完Blob后,我们可以点击创建成功的container public,然后点击下图的Upload,将本地的文件进行上传

  

  笔者将本地的截图进行上传,并且可以在工具中查看到上传成功。

  

  点击上图中的View按钮,可以查看到该png图片的属性,如下图:

  

  我们打开IE浏览器,在地址栏中输入上图的uri中的值,可以以匿名身份查看到Azure Storage中的png图片。如下图:

  

 

  ======================================我是分隔符========================================

  如果读者熟悉Shared Access Signature(SAS)的话,我们可以通过Azure Storage Explorer快速生成SAS签名。

  

  我们选择Blob Container的名称,然后点击上图中Security

  在弹出的窗口中,将Access Level设置为OFF,不允许匿名访问(图略)

  然后在下图的Shard Access Signature中,设置SAS的相关属性

  

  最后点击Test in Browser,测试使用SAS访问Private Container的内容。

  

  

  

私有表示,这个Container(文件夹)里面的内容,都不允许匿名访问

比如 http://mcdmuffinh5mkt.blob.core.chinacloudapi.cn/privatephotos/1.jpg

上面的container nameprivatephotos,类型是私有(private)

所以不允许匿名文档,这也是为什么你之前上传的资源无法通过IE匿名访问

对于某些私密的信息,比如内部的图片、文件,可以设置private类型

 

公共blob,表示允许访问这个某一个资源,但是无法递归访问这个container (文件夹)

对于可以匿名访问资源,比如公共图片、招聘,可以设置公共blob

 

公共容器(container),表示可以递归访问这个container(文件夹)下的所有资源

posted on 2014-05-25 14:43 Lei Zhang的博客 阅读(...) 评论(...) 编辑 收藏