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 name是privatephotos,类型是私有(private)
所以不允许匿名文档,这也是为什么你之前上传的资源无法通过IE匿名访问
对于某些私密的信息,比如内部的图片、文件,可以设置private类型
公共blob,表示允许访问这个某一个资源,但是无法递归访问这个container (文件夹)
对于可以匿名访问资源,比如公共图片、招聘,可以设置公共blob
公共容器(container),表示可以递归访问这个container(文件夹)下的所有资源
Azure China (4) 管理Azure China Storage Account的更多相关文章
- Azure China (5) 管理Azure China Powershell
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China Cloud Update 2015-09-01 发现一个新的命令,在 ...
- 【Azure 存储服务】Python模块(azure.cosmosdb.table)直接对表存储(Storage Account Table)做操作示例
什么是表存储 Azure 表存储是一项用于在云中存储结构化 NoSQL 数据的服务,通过无结构化的设计提供键/属性存储. 因为表存储无固定的数据结构要求,因此可以很容易地随着应用程序需求的发展使数据适 ...
- Linux上使用Azure CLI来管理Azure
在Windows上我们有强大的Powershell提供各种命令来管理Azure的服务,在Linux上微软提供了基于Node.JS的跨平台的Azure Command Line来帮助Linux用户来管理 ...
- 使用 Azure Active Directory 管理 Azure 中的 HPC Pack 群集
Microsoft HPC Pack 2016 支持在 Azure 中部署 HPC Pack 群集的管理员将其与 Azure Active Directory (Azure AD) 集成. 请按照本文 ...
- Azure China (11) 使用Azure China Storage Public Blob
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 注意:本文介绍的是Azure China Storage Publi ...
- Azure China (9) 在Azure China配置CDN服务
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China Update 2015-11-20:Azure China CDN服 ...
- 【Azure Developer】解决Azure Key Vault管理Storage的示例代码在中国区Azure遇见的各种认证/授权问题 - C# Example Code
问题描述 使用Azure密钥保管库(Key Vault)来托管存储账号(Storage Account)密钥的示例中,从Github中下载的示例代码在中国区Azure运行时候会遇见各种认证和授权问题, ...
- 【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例
问题描述 在微软云环境中,使用python SDK连接存储账号(Storage Account)需要计算Blob大小?虽然Azure提供了一个专用工具Azure Storage Explorer可以统 ...
- 【Azure 环境】由为存储账号(Storage Account)拒绝分配权限而引出的Azure 蓝图(Blueprint)使用问题
问题描述 当打开Azure存储账号(Storage Account)门户页面时,从 "访问控制(标识和访问管理)" 页面中发现有"拒绝分配"的功能,所以就思考, ...
随机推荐
- .Net 对App.config和Web.config的访问操作(增、删、读、改)
一.首先引用Configuration 1)App.config如下: using System.Configuration;//若果还没有Configuration,右键引用文件夹添加引用,在.NE ...
- shell学习--grep1
一. grep的来源 通过ex编辑器来查找某个字串: :/pattern/p 其中p是打印,包含字符串pattern的第一行将被打印:如果需要打印包含pattern的所有行,可以这样: :/g/pat ...
- C#获取当前路径的7种方法
总结C#获取当前路径的7种方法 C#获取当前路径的方法如下: 1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName ...
- padding与margin的区别
padding 是控件的内容相对控件的边缘的边距. margin 是控件边缘相对父空间的边距. android:gravity 属性是对该view 内容的限定.比如一个button 上 ...
- win7下Arduino Mega 2560驱动安装失败解决办法
因为玩四轴用的apm的飞控板,而其需要安装此驱动,曾经在win8使用其,但是因为win8有相对应的数字证书保护措施(应该是这样的,因为好久了记不清楚了),以至于我每次都需要长按shift重启电脑关闭此 ...
- while语句(1)
<?php for ($i=1; $i<=10 ; $i++) { echo $i."-".($i*10)."<br>&q ...
- Head First 设计模式读书笔记
在网上学习了一段时间设计模式,总感觉不系统,很容易忘,最近买书,学习了<Head First设计模式>,受益匪浅,特做此记录,以便激励自己不断的向后学习. 原书JAVA版本,本次学习记录及 ...
- Jetty源码分析(一)
一.目的 1.了解jetty组成架构: 2.学习jetty启动过程: 3.学习请求访问过程: 4.学习jetty内各模块作用,学习各模块内部代码: 二.jetty版本 本文所学习的jetty版本为:9 ...
- vb小菜一枚--------早期绑定和后期绑定
早期绑定和后期绑定 Visual Studio 2005 其他版本 将对象分配给对象变量时,Visual Basic 编译器会执行一个名为 binding 的进程.如果将对象分配给声明为特定对 ...
- day9---多线程,线程锁,队列
进程.线程 http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html 使用threading模块实现多线程编程[综述] Pyt ...