Windows Azure Platform (九) Windows Azure Storage Service存储服务
Windows Azure本质上来说就是将你本地的应用程序打包,然后上传到Windows Azure VM进行托管运行。
注意:任何保存在Windows Azure VM盘符的内容都是临时的、非持久化的。比如,我通过Windows Azure
VM在D盘新建了一个txt文件,这个文件不会一直被保存。因为某些特殊情况,VM节点会宕机(系统升级、物理损坏)等,后台Fabric Controller会把该VM下的Web Role和Worker Role的内容迁移到同一数据中心的另外一台机器上,但是不会自动迁移D盘新建的txt文件!如果需要保存持久化的内容,一定要使用Windows Azure 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数据中心内。
BLOB服务由BLOB本身以及其收纳容器(Container)构成,容器可视为一般本机上的文件夹。
你可以通过REST API来访问,如下:
http://accountName.blob.core.windows.net/<containerName>/<blobName>
accountName表示哪个Azure帐号(Account)下的资源。
blob.core.windows.net表示我访问的是blob的资源。
containerName表示容器的名字,可以认为是访问某一文件夹下的资源
blobName表示我要访问的资源的名字。
注意: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中表最大容量是100T,每个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的二进制数据,队列经常会作为跨运行个体通信以及工作切割通知的消息传递之用。
http://<account>.queue.core.windows.net/<QueueName>
http://www.cnblogs.com/threestone/archive/2012/01/18/2325567.html
Windows Azure Platform (九) Windows Azure Storage Service存储服务相关推荐
- Windows Azure Storage (3) Windows Azure Storage Service存储服务之Blob详解(中)
<Windows Azure Platform 系列文章目录> 如果读者使用的是国内由世纪互联运维的Azure China服务,请参考笔者的博文Azure China (4) 管理Azur ...
- Windows Azure Storage (4) Windows Azure Storage Service存储服务之Blob Share Access Signature
<Windows Azure Platform 系列文章目录> 如果读者使用的是国内由世纪互联运维的Azure China服务,请参考笔者的博文Azure China (4) 管理Azur ...
- Windows Azure Storage (1) Windows Azure Storage Service存储服务
<Windows Azure Platform 系列文章目录> 如果读者使用的是国内由世纪互联运维的Azure China服务,请参考笔者的博文Azure China (4) 管理Azur ...
- Windows Azure Platform Introduction (2) 云计算的分类和服务层次
<Windows Azure Platform 系列文章目录> 云计算的分类(参考百度百科http://baike.baidu.com/view/1316082.htm#4) 云计算按照服 ...
- Windows Azure Platform (四) Windows Azure架构
Windows Azure是由微软发展的一套云计算操作系统,用来提供云计算服务所需要的操作系统与计算与存储平台.他提供的是平台即服务(PaaS).也可以通过VM Role来实现IaaS服务. Over ...
- Windows Azure Platform Introduction (9) 申请Windows Azure 账户
<Windows Azure Platform 系列文章目录> Update:2017年12月27日,更新了最新的申请海外Azure账户的流程: Windows Azure Platfor ...
- Windows Developer Day - Windows AI Platform
本次 Windows Developer Day,最值得期待的莫过于 Windows AI Platform 了,可以说是千呼万唤始出来.观看直播的开发者们,留言最多的也是 Windows AI Pl ...
- 微软Windows Azure Platform技术解析
近两年IT领域里没有任何一项技术能够像云计算(Cloud Computing)一样引起如此多的关注,Google.Amazon.IBM.HP.Dell.Sun.Intel.Oracle和Microso ...
- Windows Azure Platform Introduction (6) Windows Azure应用程序运行环境
<Windows Azure Platform 系列文章目录> Windows Azure应用程序运行环境 Windows Azure云计算平台是提供PaaS(平台即服务)和IaaS(基础 ...
最新文章
- 求得到一个字符串@“absdfasdfsdfdsafsd....”所有的排列
- KC shop 开发历程------注册界面
- Windows 系统下设置Nodejs NPM全局路径
- 访问域名不走dns服务问题排查,报错could not resolve host
- NOIP 2016 迟来的满贯
- 民国大学教授收入有多高?
- 安装rz_Centos 8下Mysql8的安装,以及远程Navicat适配(面向纯小白)
- 马士兵_JAVA自学之路(为那些目标模糊的码农们)
- 苏州大学计算机学院推免流程,【图片】18年苏州大学计算机872考研经验分享【苏州大学研究生吧】_百度贴吧...
- Linux服务器的显卡驱动丢失又装上的过程
- 洛谷.3065.第一!First!(Trie 拓扑)
- python中实参必须是常量吗_7 python函数参数(必须参数、可变参数、关键字参数)...
- 熔断器 Hystrix 源码解析 —— 断路器 HystrixCircuitBreaker
- stm32中如何避免等待_地坪漆施工中如何避免常见的小问题
- Oracle 19c 安装步骤
- 数据结构面试题以及答案整理
- Polymorphism in Overloaded and Overridden Method
- Numpy中的向量运算
- hdu-6287-口算训练
- 百度谷歌淘宝自定义搜索乱码问题的解决
热门文章
- php 微信接口文档例子,微信开发之群发(示例代码)
- Drools7 动态更新规则
- 中国超级计算机gpu,中国超级计算机“天河一号”堪称世界第一:每秒2500万亿次浮点运算...
- 为什么现在真正的黑客越来越少了?
- 如何运用netoffice,开发兼容多个版本的outlook插件
- 信息通信与工程学院c语言试题,2020年湖南大学信息与通信工程考研真题试卷及试题答案,C语言程序设计考研试题下载...
- python种子下载器,tkinter版本
- 8.5.4. Interval Input
- app小程序手机端Python爬虫实战02-uiautomator2自动化抓取开发环境搭建
- hdu2838(树状数组)