zoukankan      html  css  js  c++  java
  • Azure China (4) 管理Azure China Storage Account

      《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(文件夹)下的所有资源

  • 相关阅读:
    使用 requests 维持会话
    使用 requests 发送 POST 请求
    使用 requests 发送 GET 请求
    requests 安装
    使用 urllib 分析 Robots 协议
    使用 urllib 解析 URL 链接
    使用 urllib 处理 HTTP 异常
    使用 urllib 处理 Cookies 信息
    使用 urllib 设置代理服务
    按单生产程序发布
  • 原文地址:https://www.cnblogs.com/threestone/p/3732879.html
Copyright © 2011-2022 走看看