Blob的概念:
Blob是一种为存储二进制数据提供的存储机制,每个Storage Account可以有多个Container,Container中可以存放二进制文件
可以通过REST API来访问,如下:
http://accountName.blob.core.windows.net/<containerName>/<blobName>
Blob也支持Root Container的概念
访问路径如下
http://accountName.blob.core.windows.net/$root/<document name>
Blob的命名规则:
1.除了URL的保留字符以外,其他的字符组合都可以使用
2.长度为1-1024个字符
3.尽量避免以(.)或者是(/)结尾
Blob的层次结构:
Blob中不存在传统意义上的层次结构,当Url路径为 http://accountName.blob.core.windows.net/<containerName>/LevelA/LevelB/demo.doc,blob的名字为LevelA/LevelB/demo.doc,在有些查看Blob的tool中根据(/)区分出来层次结构,便于查看。
Blob的权限控制:
Container是权限管理的基本单位,通过预设的Secret Key可以访问指定Container下的Blob
Blob有Block Blob和Page Blob两种类型
#Block Blob
每个block blob最大能存储200GB的单以二进制文档,文档会被切割成多个data block,每个data block最多存储4MB的内容。
支持分块上传,block blobs是针对存取大文件所设计的机制,开发人员可以通过API将大文档切割成多个data block同时上传,所有data block上传后再组合为原文档。
Block Blob单个文件最大带宽60MB/S
使用Azure Blob的PutBlock方法,实现文件的分块、离线上传
#Page Blob
page blob最大能够存储1TB的二进制文档,由多个page组成的集合,每个page最多存储512bytes的内容。
page blob是这不等于随机存储所涉设计的机制,写入的操作必须搭配特定的page,所以写入的内容都是以512bytes的倍数的offset,读取的操作可以根据offser获得任意范围内的数据。
page Blob就是VHD文件,必须依赖于Azure Virtual Machine才能被访问,可以虚拟城软盘挂载到VM上,不能通过URL访问。
.Net实例 How to use Blob storage