网上azure的资料较少,尤其是API,全是英文的,中文资料更是少之又少。这次由于公司项目需要使用Azure,所以对Azure的一些学习心得做下笔记,文中不正确地方请大家指正。
Azure Blob 存储是用于存储大量非结构化对象数据(例如文本或二进制数据)的服务,这些数据可通过 HTTP 或 HTTPS 从世界各地进行访问。 可以使用 Blob 存储向外公开数据,或者私下存储应用程序数据。
Blob 存储的常见用途包括:
- 直接向浏览器提供图像或文档
- 存储文件以供分布式访问
- 对视频和音频进行流式处理
- 存储数据以用于备份和还原、灾难恢复及存档
- 存储数据以供本地或 Azure 托管服务执行分析
本次翻译的是Azure java API中com.microsoft.azure.storage.blob这个类。
1. class
1.1. BlobContainerPermissions
表示容器的权限。
容器的权限包括容器的两种访问设置:
A.容器的公共访问设置,由公共访问属性表示。公共访问设置指示容器和它的blob是否可以通过匿名请求读取。
B.容器的访问策略,由getSharedAccessPolicies方法表示。此设置引用容器的共享访问策略集合。共享访问策略可用于控制一个或多个共享访问签名的启动时间、过期时间和权限。共享访问签名提供了对容器资源的授权访问。
1.2. BlobContainerProperties
表示容器的系统属性。
1.3. BlobEncryptionPolicy
表示一个blob加密策略,用于对Azure blobs进行包络加密/解密。
1.4. BlobInputStream
提供一个输入流来读取给定的blob资源。
1.5. BlobOutputStream
提供一个输出流来读取给定的blob资源。
1.6. BlobProperties
表示blob的系统属性。
1.7. BlobRequestOptions
表示一组可在请求中指定的选项。
1.8. BlockEntry
用于列出和提交CloudBlockBlob块的类。
1.9. CloudAppendBlob
表示Microsoft Azure Append Blob。
1.10. CloudBlob
表示Microsoft Azure blob。这是CloudBlockBlob和CloudPageBlob类的基类。
1.11. CloudBlobClient
提供一个客户端访问Microsoft Azure Blob服务。这个类提供了对Blob服务的访问点。服务客户端封装了Blob服务的基本URI。如果服务客户端将用于身份验证访问,它还封装了访问存储帐户的凭据。
1.12. CloudBlobContainer
表示Microsoft Azure Blob服务中的一个容器。容器保存目录,这些目录被封装为CloudBlobDirectory对象,并且目录包含块blobs和page blob。目录也可以包含子目录。
1.13. CloudBlobDirectory
表示由分隔符指定的blob的虚拟目录。容器,被封装成CloudBlobContainer对象,保存目录,目录持有块blobs和页面blob。目录也可以包含子目录。
1.14. CloudBlockBlob
表示Microsoft Azure Block blob。
1.15. CloudPageBlob
表示Microsoft Azure page blob。
1.16. CopyState
表示复制操作的属性。
1.17. PageRange
表示页面blob中的一系列页面。
1.18. PageRangeDiff
表示页面blob中的一系列页面,这些页面自前一个快照指定后发生了变化。
1.19. SharedAccessBlobHeaders
表示可以使用sa访问的blobs返回的可选标题。
1.20. SharedAccessBlobPolicy
表示共享访问策略,该策略指定共享访问签名的开始时间、到期时间和权限。
2. Interfaces
2.1. ListBlobItem
表示可以通过blob列表操作返回的项。
方法:
1)public CloudBlobContainer getContainer():返回blob的容器。
2)public CloudBlobDirectory getParent():返回blob的父元素。
3)public StorageUri getStorageUri():返回blob的所有存储位置的uri列表。
4)public URI getUri():返回blob的URI。
3. Enums
3.1. BlobContainerPublicAccessType
指定在容器上允许的公共访问级别。公共访问设置指示容器和它的blob是否可以通过匿名请求读取。
BlobContainerPublicAccessType枚举提供了三个级别的匿名读访问:
A)BlobContainerPublicAccessType#OFF,它阻止匿名访问。
B)BlobContainerPublicAccessType#BLOB,它允许匿名读取BLOB资源,但不允许容器元数据或容器中的BLOB列表。
C)BlobContainerPublicAccessType#CONTAINER,它允许匿名读取blob资源、容器元数据和容器中的blob列表。
有关管理匿名访问Blob服务资源的更多信息,请参见为容器设置访问控制。
属性:
1)BLOB:指定blob-level公共访问。客户端可以在这个容器中读取blob的内容和元数据,但不能读取容器元数据或将容器中的blob列出来。
2)CONTAINER:指定集装箱层面公共访问。客户机可以读取blob内容和元数据和容器元数据,并可以列出容器内的blob。
3)OFF:没有指定公开访问。只有帐户所有者才能访问这个容器中的资源。
3.2. BlobType
指定blob的类型。
属性:
1)BLOCK_BLOB:block blob
2)PAGE_BLOB:page blob
3)UNSPECIFIED:无类型
3.3. BlockListingFilter
指定是否只列出已提交的blob,只有未提交的blob,或所有的blob。
属性:
1)ALL:列出所有blob
2)COMMITTED:列出已提交blob
3)UNCOMMITTED:列出未提交blob
3.4. BlockSearchMode
指定应该搜索哪些blob列表以查找指定的blob。
3.5. ContainerListingDetails
指定在此存储帐户中列出容器时要包含的详细信息。
属性:
1)ALL:所有
2)METADATA:元数据
3)NONE:没有
4)value:返回该枚举的值。
3.6. CopyStatus
表示复制blob操作的状态。
属性:
1)ABORTED:复制操作已经中止。
2)INVALID:复制状态无效。
3)PENDING:复制操作正在等待中。
4)SUCCESS:成功。
5)UNSPECIFIED:未指定复制状态。
3.7. DeleteSnapshotsOption
指定在调用delete操作时的选项。
属性:
1)DELETE_SNAPSHOTS_ONLY:只删除blob的快照。
2)INCLUDE_SNAPSHOTS:删除blob及其快照。
3)NONE:只删除blob。如果blob具有快照,则该选项将导致服务出现错误。
3.8. LeaseDuration
资源的租赁期限。
属性:
1)FIXED:固定的
2)UNSPECIFIED:未指定的
3.9. LeaseState
资源的租赁状态。
属性:
1)AVAILABLE:可用的
2)BREAKING:不可用
3)EXPIRED:失效的
4)LEASED:租用的
5)UNSPECIFIED:未说明的
3.10. SharedAccessBlobPermissions
指定共享访问策略的可能权限集。
属性:
1)ADD:增加
2)CREATE:创建
3)DELETE:删除
4)READ:只读
5)WRITE:只写
3.11. StandardBlobTier
在标准存储帐户上的块blob的层。
属性:
1)COOL:冷存储
2)HOT:热存储
3)UNKNOWN:未知