Azure系列2.1.9 —— CloudBlob

(小弟自学Azure,文中有不正确之处,请路过各位大神指正。)

网上azure的资料较少,尤其是API,全是英文的,中文资料更是少之又少。这次由于公司项目需要使用Azure,所以对Azure的一些学习心得做下笔记,文中不正确地方请大家指正。

Azure Blob 存储是用于存储大量非结构化对象数据(例如文本或二进制数据)的服务,这些数据可通过 HTTP 或 HTTPS 从世界各地进行访问。 可以使用 Blob 存储向外公开数据,或者私下存储应用程序数据。

Blob 存储的常见用途包括:

  • 直接向浏览器提供图像或文档
  • 存储文件以供分布式访问
  • 对视频和音频进行流式处理
  • 存储数据以用于备份和还原、灾难恢复及存档
  • 存储数据以供本地或 Azure 托管服务执行分析

Package

com.microsoft.azure.storage.blob

Mean

表示Microsoft Azure blob。这是CloudBlockBlobCloudPageBlob类的基类。

Inherited 

java.lang.Object ————> ListBlobItem ————> CloudBlob

Constructors 

1、CloudBlob(final BlobType type, final StorageUri uri, final String snapshotID, final StorageCredentials credentials)

使用指定的URI、快照ID和云blob客户端创建类的实例

2、protected CloudBlob(final BlobType type, String blobName, String snapshotID, CloudBlobContainer container)

使用指定的类型、名称、快照ID和容器创建类的实例。

3、protected CloudBlob(final CloudBlob otherBlob)

通过从另一个blob中复制值来创建类的实例。

Fields

1、blobServiceClientblob的客户端

2、parentblob的目录

3、streamMinimumReadSizeInBytes:使用BlobInputStream时保持最小读取大小。

4、streamWriteSizeInBytes:保存写入BlobOutputStream(块和页面blobs)时要缓冲的字节数。

 

Method

    1.public final void abortCopy(final String copyId)

    2.public final void abortCopy(final String copyId, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

中止正在进行的blob复制操作。

 

    3.public final String acquireLease()

获得对blob的一个新的无限租赁,返回blobid

    4.public final String acquireLease(final Integer leaseTimeInSeconds, final String proposedLeaseId)

获取具有指定租赁时间和建议的租赁IDblob的新租赁。

leaseTimeInSeconds:以秒为单位指定获取租约所需的时间跨度。如果为空,将获得一个无限的租约。如果不为空,则该值必须大于零

proposedLeaseId:表示新租赁的拟议租赁ID的字符串,如果没有拟议的租赁ID,则为null

    5.public final String acquireLease(final Integer leaseTimeInSeconds, final String proposedLeaseId, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

获取具有指定租用时间、建议的租用ID、请求选项和操作上下文的blob的新租约。

leaseTimeInSeconds:以秒为单位指定获取租约所需的时间跨度。如果为空,将获得一个无限的租约。如果不为空,则该值必须大于零

proposedLeaseId:表示新租赁的拟议租赁ID的字符串,如果没有拟议的租赁ID,则为null

accessCondition表示blob的访问条件

options为请求指定任何附加选项

opContext:表示当前操作的上下文的OperationContext对象。上下文用于跟踪对存储服务的请求,并提供关于操作的附加运行时信息。

 

    6.public final long breakLease(final Integer breakPeriodInSeconds)

终止租约,并确保另一个客户在当前租约期满之前不能获得新的租约。返回以秒为单位的剩余时间。

breakPeriodInSeconds:指定等待的时间(以秒为单位),直到当前租约被破坏。如果为空,则中断周期为当前租约的剩余时间,或者为无限租约的零。

    7.public final long breakLease(final Integer breakPeriodInSeconds, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

使用指定的请求选项和操作上下文终止现有租约,并确保另一个客户端在当前租约期满之前不能获得新的租约。

 

    8.public final String changeLease(final String proposedLeaseId, final AccessCondition accessCondition)

将现有的租赁ID更改为建议的租赁ID

    9.public final String changeLease(final String proposedLeaseId, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

使用指定的访问条件、请求选项和操作上下文将现有的租赁ID更改为建议的租赁ID

 

    10.public final CloudBlob createSnapshot()

    11.public final CloudBlob createSnapshot(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

    12.public final CloudBlob createSnapshot(final HashMap<String, String> metadata, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

创建blob的快照。

 

    13.public final void delete()

删除blob。如果在服务上启用了删除保留策略,那么在垃圾收集永久删除之前,blob将被保留一段指定的时间。

    14.public final void delete(final DeleteSnapshotsOption deleteSnapshotsOption, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

使用指定的快照和请求选项和操作上下文删除blob。如果在服务上启用了删除保留策略,那么在垃圾收集永久删除之前,blob将被保留一段指定的时间。具有快照的blob不能被删除,除非快照也被删除。如果一个blob有快照,请在参数中使用DeleteSnapshotsOption#DELETE_SNAPSHOTS_ONLYDeleteSnapshotsOption# include_snapshot值来指定删除blob时应该如何处理快照。

    

15.public final boolean deleteIfExists()

如果blob存在,则删除它。具有快照的blob不能被删除,除非快照也被删除。如果一个blob有快照,请在参数中使用DeleteSnapshotsOption#DELETE_SNAPSHOTS_ONLYDeleteSnapshotsOption# include_snapshot值来指定删除blob时应该如何处理快照。

    16.public final boolean deleteIfExists(final DeleteSnapshotsOption deleteSnapshotsOption, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

如果blob存在,使用指定的快照和请求选项以及操作上下文删除它。具有快照的blob不能被删除,除非快照也被删除。如果一个blob有快照,请在参数中使用DeleteSnapshotsOption#DELETE_SNAPSHOTS_ONLYDeleteSnapshotsOption# include_snapshot值来指定删除blob时应该如何处理快照。

 

    17.public final void download(final OutputStream outStream)

    18.public final void download(final OutputStream outStream, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

下载。

 

    19.public final void downloadAttributes()

    20.public final void downloadAttributes(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

此方法填充blob的系统属性和用户定义的元数据。在读取或修改blob的属性或元数据之前,调用此方法或其重载,以从Microsoft Azure存储服务检索blob属性和元数据的最新值。

    

    21.public final void downloadRange(final long offset, final Long length, final OutputStream outStream)

    22.public final void downloadRange(final long offset, final Long length, final OutputStream outStream, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

    23.public final int downloadRangeToByteArray(final long offset, final Long length, final byte[] buffer, final int bufferOffset)

    24.public final int downloadRangeToByteArray(final long offset, final Long length, final byte[] buffer, final int bufferOffset, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

    25.public final int downloadToByteArray(final byte[] buffer, final int bufferOffset)

    26.public final int downloadToByteArray(final byte[] buffer, final int bufferOffset, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

    27.public void downloadToFile(final String path)

    28.public void downloadToFile(final String path, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

下载。

 

    29.public final boolean exists()

    30.public final boolean exists(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

检查该blob是否存在。

 

    31.public String generateSharedAccessSignature(final SharedAccessBlobPolicy policy, final SharedAccessBlobHeaders headers, final String groupPolicyIdentifier)

使用指定的组策略标识符和操作上下文为blob返回共享访问签名。注意,这并不包含“?”。

    32.public final CloudBlobContainer getContainer()

    33.public CopyState getCopyState()

    34.public final HashMap<String, String> getMetadata()、public final void setMetadata(final HashMap<String, String> metadata)

blob的元数据。

    35.public final String getName()

    36.public final CloudBlobDirectory getParent()

    37.public final BlobProperties getProperties()、protected final void setProperties(final BlobProperties properties)

    38.public final StorageUri getQualifiedStorageUri()

返回此blob的快照和/或共享访问签名限定URI

    39.public final URI getQualifiedUri()

返回此blob的快照或共享访问签名限定URI

    40.public final CloudBlobClient getServiceClient()

返回与Blob关联的Blob服务客户端。

    41.public final String getSnapshotID()

    42.public final StorageUri getSnapshotQualifiedStorageUri()

blobURI返回到主位置和次要位置,如果blob是快照,则包括查询字符串信息。

    43.public final URI getSnapshotQualifiedUri()

blob返回绝对URI,如果blob是快照,则包括查询字符串信息

    44.public final StorageUri getStorageUri()

所有位置的uri列表。

    45.public final int getStreamMinimumReadSizeInBytes()、public void setStreamMinimumReadSizeInBytes(final int minimumReadSize)

使用BlobInputStream时的最小读取大小。

    46.public final int getStreamWriteSizeInBytes()、public abstract void setStreamWriteSizeInBytes(int streamWriteSizeInBytes)

写入BlobOutputStream(块和页面blobs)时要缓冲的字节数。

    47.public final URI getUri()

    48.public final boolean isSnapshot()

    49.public final BlobInputStream openInputStream()

    50.public final BlobInputStream openInputStream(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

打开一个blob输入流下载该blob。使用setStreamMinimumReadSizeInBytes(int)配置读取大小。

 

    51.public final void releaseLease(final AccessCondition accessCondition)

    52.public final void releaseLease(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

释放blob上的租约。

 

    53.public final void renewLease(final AccessCondition accessCondition)

    54.public final void renewLease(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

更新现有的租赁

 

    55.public final String startCopy(final URI source)

请求服务开始将URI的内容、属性和元数据复制到新的blob

    56.public final String startCopy(final URI source, final AccessCondition sourceAccessCondition, final AccessCondition destinationAccessCondition, BlobRequestOptions options, OperationContext opContext)

请求服务使用指定的访问条件、租用ID、请求选项和操作上下文,开始将URI的内容、属性和元数据复制到新的blob

 

    57.public final void undelete()

取消删除一个blob及其所有已被软删除的快照。

    58.public final void undelete(BlobRequestOptions options, OperationContext opContext)

使用指定的请求选项和操作上下文删除已被软删除的blobundelete Blob操作还原软删除的Blob及其所有快照的内容和元数据。尝试删除非软删除的blob或快照,将在没有任何更改的情况下成功。

 

    59.public abstract void upload(InputStream sourceStream, long length)

    60.public abstract void upload(InputStream sourceStream, long length, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

将源流数据上传至blob。如果blob已经存在于服务上,那么它将被覆盖。

 

    61.public void uploadFromByteArray(final byte[] buffer, final int offset, final int length)

    62.public void uploadFromByteArray(final byte[] buffer, final int offset, final int length, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

从字节数组中的数据上载blob。如果blob已经存在于服务上,那么它将被覆盖。

 

    63.public void uploadFromFile(final String path)

    64.public void uploadFromFile(final String path, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

从文件上载blob。如果blob已经存在于服务上,那么它将被覆盖。

 

    65.public final void uploadMetadata()

    66.public final void uploadMetadata(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

将blob的元数据上传至存储服务。使用CloudBlob#downloadAttributes检索来自Microsoft Azure存储服务的blob属性和元数据的最新值。

    

    67.public final void uploadProperties()

    68.public final void uploadProperties(final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

将blob的属性更新到存储服务。使用CloudBlob#downloadAttributesMicrosoft Azure存储服务获取blob的属性和元数据的最新值

 

 

 

猜你喜欢

转载自www.cnblogs.com/DDgougou/p/9176921.html