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)门户页面时,从 "访问控制(标识和访问管理)" 页面中发现有"拒绝分配"的功能,所以就思考, ...
随机推荐
- sql server 2000数据库 最近经常出现某进程一直占用资源,阻塞?死锁?
OA的数据库最近多次出现某进程一直占用资源,导致其他进程无法执行.使用sp_who2 和 sql server profiler跟踪查询,发现有以下几个语句常常占用资源: 1.declare @P1 ...
- C#开发Android环境搭建
目前破解比较稳定的版本(我亲自尝试过的)是4.2. wuleba上的4.6,4.8,4.10 破解均会出现各种问题. 1 当前电脑账户最好是使用英文账号,而不要使用汉字,否则路径会出现乱码问题. 2 ...
- nginx下搭建 Yii框架
因为启用了rewrite,导致css,js,images等静态文件也定向到index.php 我不得不重定向静态文件的路径 仅供参考: server { listen 80; server_name ...
- Number()数据类型转换
Number() 如果是 Boolean 值, 和.如果是数字值,只是简单的传入和返回.如果是 .如果是 undefined,返回NaN. 如果是字符串,遵循下列规则: 如果字符串中只包含数字( ...
- DBNull 与 求和方法
public int CountMoney() { if (!DBNull.Value.Equals(Eval("LawyerMoney")) && !DBNull ...
- SharePoint 2013开发入门探索(二)- 列表操作
我们如何用代码对SharePoint列表做些例如增删改查的操作呢?如果您的程序可以部署到服务器上,就可以使用 服务器对象模型,因为服务器对象模型提供的功能最多,限制最少:否则可能要选择客户对象模型等其 ...
- 爱上WPF,努力才会有希望!
从WinForm转向WPF开发已经有两个多月了,通过不断深入地学习与运用,现在是越来越爱它了.它实在是太强大了.运用WPF,你不仅可以做Win界面,也可以很快转向Web开发,因为Silverlight ...
- Memcached服务介绍及安装指南
一.memcached服务介绍 1.为什么需要memcached服务 A:第一种场景 网站访问大多数情况下都需要查询数据库操作,如果网站的流量很大并且大多数的访问会造成数据库高负荷的状况下,由于大部分 ...
- bootstrap中table的colspan不起作用
bootstrap中table的colspan不起作用,即在不指定宽度的条件下,各个td宽度不符合colspan指定的宽度. 添加table0layout:fixed后显示正常. table{ tab ...
- java设计模式之-----桥接模式
一.概念定义 将抽象部分和实现部分分离,使他们都可以独立的变化.(这句话有点抽象啊..) 在软件系统中,某种类型由于自身逻辑,具有多个维度的变化,如何利用面向对象的技术来使得该类型沿着多方向变化,而又 ...