Windows Azure Storage (1) Windows Azure Storage Service存储服务

简介:

  Windows Azure Platform 系列文章目录

   

  如果读者使用的是国内由世纪互联运维的Azure China服务,请参考笔者的博文Azure China (4) 管理Azure China Storage Account

 

  update 2014-3-31

  Windows Azure Storage带宽10GB,WindowsAzure Blob带宽60MB

 

 

  Windows Azure PaaS本质上来说就是将你本地的应用程序打包,然后上传到Windows Azure VM进行托管运行。

  注意:任何保存在Windows Azure PaaS盘符的内容都是临时的、非持久化的。比如,我通过Windows Azure 
VM在D盘新建了一个txt文件,这个文件不会一直被保存。因为某些特殊情况,VM节点会宕机(系统升级、物理损坏)等,后台Fabric Controller会把该VM下的Web Role和Worker Role的内容迁移到同一数据中心的另外一台机器上,但是不会自动迁移D盘新建的txt文件!如果需要保存持久化的内容,一定要使用Windows Azure Storage,切记切记!

  Windows Azure Storage是支持三重冗余的,也就是说,保存在Azure Storage的内容,会在同一个数据中心保留有3个副本。这样的好处显而易见:当数据中心发生一般性故障的时候,比如磁盘损坏,机架服务器损坏等,用户保存在Azure Storage的数据不会丢失。每次对于Storage的写操作,都会对三个副本进行同步写操作,等到在副本操作完毕之后,才会返回执行成功给客户端。

  Windows Azure提供了三种不同类型的存储服务(这里的存储是非关系型数据,比如图片、文档等文件),用来提供给Windows Azure上运行的应用程序存储数据使用。依据不同的存储格式会有不同的限制,因为这些存储服务都是以分散式巨量存储(Distributed Mass Storage)为核心概念所设计出来的,为了要达成快速在分散式存储空间中存储与管理数据(还包含高可用度的赘余存储管理),微软有在数据的存储上做一些限制。

  微软还提供了REST API来方便用户操作Storage Service。

  

 

1.BLOB

BLOB(大型二进制对象)数据是用来存储文件、图片、文档等二进制格式的文件。

BLOB分为2种:

  -Block BLOB(区块型BLOB存储),这类的存储以4M为一个区块单位,单一文件最大可以存储200GB,且区块不会连续存储,可能会在不同的存储服务器分块存放。为了适应文件的上传和下载而专门进行了优化。当应用程序要求时,会一招文件的KEY以及区块存储区提供数据。

  -Page BLOB,是优化的随机访问。它会在存储区中划分一个连续的区域供应用程序存放数据,它本身可以视为一个大型的VHD(虚拟机软盘)。如果我们拿我们的应用程序迁移到Windows Azure平台上,对于文件的读写操作可能需要进行一些修改,但是通过Page Blob就可以方便我们迁移:微软特别在Page BLOB上提供了一组将Page BLOB虚拟成软盘的功能,称为Windows Azure Drive(研发代号为XDrive),它能够支持NTFS API,也就是说应用程序可以利用现有的文件管理API(包含System.IO的类型)来访问Windows Azure Drive中的文件夹与文件数据,并且这些数据会保存在Windows Azure数据中心内。

 

  Block Blob和Page Blob的区别,请参考Windows Azure Storage (19) 再谈Azure Block Blob和Page Blob

 

BLOB服务由BLOB本身以及其收纳容器(Container)构成,容器可视为一般本机上的文件夹。

你可以通过REST API来访问,如下:

http://accountName.blob.core.windows.net/<containerName>/<blobName>

accountName表示哪个Azure帐号(Account)下的资源。

blob.core.windows.net表示我访问的是blob的资源。

containerName表示容器的名字,可以认为是访问某一文件夹下的资源

blobName表示我要访问的资源的名字。

 

 

ContainerName容器,从概念上来将类似于文件夹

Container类型分为三种: Public Container,Public Blob和Private

 

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

比如 http:/mystorage.blob.core.chinacloudapi.cn/privatephotos/1.jpg
上面的container name是privatephotos,类型是私有(private)
所以不允许匿名文档,这也是为什么你之前上传的资源无法通过IE匿名访问
对于某些私密的信息,比如内部的图片、文件,可以设置private类型

 

公共blob,表示允许访问这个某一个资源,但是无法递归访问这个container (文件夹)
对于可以匿名访问资源,比如公共图片、照片,可以设置公共blob

 

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

 

 

注意:ContainerName的命名规则

1.必须以英文或数字开头,且名称内只能有英文、数字及dash(-)

2.不能以dash(-)开头或结尾,dash(-)不能连续出现

3.所有英文的字符都必须是小写

4.长度为3-63之间

 

Blob的命名规则:

1.除了URL的保留字符以外,其他的字符组合都可以使用

2.长度为1-1024个字符

3.尽量避免以dot(.)或者是forward slash(/)结尾。否则会造成Blob Service误判。

 

 

 2.Table

这里的Azure Table是非关系型数据库的表,不能与SQL Server中的Table混淆。

Azure Table中表最大容量是200T,每个Azure Table 都必须有Partition Key和Row Key。

Partition Key的值可以设置记录的物理位置。在Azure Table中的2条数据,如果Partition Key值相同,则表示这2条数据存储的物理位置是相同的;如果Partition Kay不同,则表示这2条数据可能存储在同一台物理介质上,或者不同的2台物理介质之上。

Row Key表示一行数据的唯一值。使用PartitionKey和RowKey可以定位一个唯一的实体。

Azure Table也提供REST API来访问,如下:

http://accountName.table.core.windows.net/<TableName>

 

 

3.Queue

Queue(队列)是一种先到先服务(First-Come, First-Serve),或称为FIFO(先入先出)的存储服务,它可以允许应用程序将消息存储到队列中排队,然后由负责处理的应用程序(通常是Worker)由队列提取消息并处理以后,将消息由队列中移除。消息可以是字符串或是最长8KB的二进制数据,队列经常会作为跨运行个体通信以及工作切割通知的消息传递之用。

Queue消息队列的每个消息(Message)最大支持64K,Queue最大容量200TB

http://<account>.queue.core.windows.net/<QueueName>

 

分类:  Azure Storage

本文转自Lei Zhang的博客博客园博客,原文链接:http://www.cnblogs.com/threestone/archive/2012/01/18/2325567.html,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
112 32
|
4月前
|
C# Windows
【Azure App Service】在App Service for Windows上验证能占用的内存最大值
根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。
76 11
|
7月前
|
Java 应用服务中间件 开发工具
[App Service for Windows]通过 KUDU 查看 Tomcat 配置信息
[App Service for Windows]通过 KUDU 查看 Tomcat 配置信息
|
7月前
|
Java 应用服务中间件 Windows
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
|
7月前
|
网络安全 API 数据安全/隐私保护
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
|
7月前
|
Shell PHP Windows
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
|
24天前
|
安全 Unix 虚拟化
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 2 月更新)
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 2 月更新)
45 11
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 2 月更新)
|
24天前
|
Unix 虚拟化 Windows
Windows Server 2025 中文版、英文版下载 (2025 年 2 月更新)
Windows Server 2025 中文版、英文版下载 (2025 年 2 月更新)
64 7
Windows Server 2025 中文版、英文版下载 (2025 年 2 月更新)
|
24天前
|
安全 虚拟化 Windows
Windows Server 2019 中文版、英文版下载 (2025 年 2 月更新)
Windows Server 2019 中文版、英文版下载 (2025 年 2 月更新)
63 22