你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

CloudBlob 类

  • java.lang.Object

public class CloudBlob implements ListBlobItem

表示 Microsoft Azure Blob。 这是 和 CloudPageBlob 类的CloudBlockBlob基类。

字段摘要

修饰符和类型 字段和描述
CloudBlobClient blobServiceClient

表示 Blob 客户端。

CloudBlobDirectory parent

表示 Blob 的目录。

int streamMinimumReadSizeInBytes

使用 BlobInputStream时保留最小读取大小。

int streamWriteSizeInBytes

保留写入 BlobOutputStream (块和页 blob) 时要缓冲的字节数。

构造函数摘要

构造函数 说明
CloudBlob(final BlobType type, final StorageUri uri, final String snapshotID, final StorageCredentials credentials)

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

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

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

CloudBlob(final CloudBlob otherBlob)

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

方法摘要

修饰符和类型 方法和描述
final void abortCopy(final String copyId)

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

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

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

final String acquireLease()

获取 Blob 上的新无限租约。

final String acquireLease(final Integer leaseTimeInSeconds, final String proposedLeaseId)

在 Blob 上获取具有指定租约时间和建议的租约 ID 的新租约。

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

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

final void assertCorrectBlobType()

断言 Blob 具有 blob 属性中指定的正确 Blob 类型。

void assertNoWriteOperationForSnapshot()

断言不对快照执行写入操作。

final long breakLease(final Integer breakPeriodInSeconds)

中断租约,并确保其他客户端在当前租约期到期之前无法获取新租约。

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

使用指定的请求选项和操作上下文中断现有租约,并确保其他客户端在当前租约期到期之前无法获取新租约。

final String changeLease(final String proposedLeaseId, final AccessCondition accessCondition)

将现有租约 ID 更改为建议的租约 ID。

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

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

final CloudBlob createSnapshot()

创建 Blob 的快照。

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

使用指定的请求选项和操作上下文创建 blob 的快照。

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

使用指定的请求选项和操作上下文创建 blob 的快照。

final void delete()

删除 Blob。

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

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

使用指定的快照和请求选项以及操作上下文删除 Blob。

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

不能删除具有快照的 Blob,除非也删除这些快照。 如果 Blob 具有快照,请使用 DELETE_SNAPSHOTS_ONLY 参数中的 或 INCLUDE_SNAPSHOTS 值指定删除 Blob 时如何处理快照。

final boolean deleteIfExists()

删除 Blob(如果存在)。

不能删除具有快照的 Blob,除非也删除这些快照。 如果 Blob 具有快照,请使用 DELETE_SNAPSHOTS_ONLY 参数中的 或 INCLUDE_SNAPSHOTS 值指定删除 Blob 时应如何处理快照。

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

使用指定的快照和请求选项以及操作上下文删除 Blob(如果存在)。

不能删除具有快照的 Blob,除非也删除这些快照。 如果 Blob 具有快照,请使用 DELETE_SNAPSHOTS_ONLY 参数中的 或 INCLUDE_SNAPSHOTS 值指定删除 Blob 时应如何处理快照。

final void download(final OutputStream outStream)

将 Blob 的内容下载到流。

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

使用指定的请求选项和操作上下文将 Blob 的内容下载到流中。

AccountInformation downloadAccountInfo()

获取与此 Blob 所在的存储帐户相关的信息。

AccountInformation downloadAccountInfo(BlobRequestOptions options, OperationContext opContext)

获取与此 Blob 所在的存储帐户相关的信息。

StorageRequest<ServiceClient, CloudBlob, AccountInformation> downloadAccountInformationImpl(final RequestOptions options)
final void downloadAttributes()

填充 Blob 的属性和元数据。

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

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

使用指定的请求选项和操作上下文填充 Blob 的属性和元数据。

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

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

将 Blob 的内容下载到流。

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

使用指定的请求选项和操作上下文将 Blob 的内容下载到流中。

final int downloadRangeInternal(final long blobOffset, final Long length, final byte[] buffer, final int bufferOffset, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

将一系列字节从 Blob 下载到给定的字节缓冲区。

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

将一系列字节从 Blob 下载到给定的字节缓冲区。

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

使用指定的请求选项和操作上下文,将 Blob 中的字节范围下载到给定的字节缓冲区。

final int downloadToByteArray(final byte[] buffer, final int bufferOffset)

将一系列字节从 Blob 下载到给定的字节缓冲区。

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

使用指定的请求选项和操作上下文将一系列字节从 Blob 下载到给定字节缓冲区。

void downloadToFile(final String path)

下载 Blob,将内容存储在文件中。

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

下载 Blob,将内容存储在文件中。

final boolean exists()

检查 Blob 是否存在。

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

使用指定的请求选项和操作上下文检查 Blob 是否存在。

String generateSharedAccessSignature(final SharedAccessBlobPolicy policy, final SharedAccessBlobHeaders headers, final String groupPolicyIdentifier)

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

String generateSharedAccessSignature(final SharedAccessBlobPolicy policy, final SharedAccessBlobHeaders headers, final String groupPolicyIdentifier, final IPRange ipRange, final SharedAccessProtocols protocols)

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

String generateSharedAccessSignature(final SharedAccessBlobPolicy policy, final SharedAccessBlobHeaders headers, final String groupPolicyIdentifier, final IPRange ipRange, final SharedAccessProtocols protocols, boolean skipDecoding)

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

String generateSharedAccessSignature(final SharedAccessBlobPolicy policy, final String groupPolicyIdentifier)

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

String generateUserDelegationSharedAccessSignature(final UserDelegationKey delegationKey, final SharedAccessBlobPolicy policy, final SharedAccessBlobHeaders headers, final IPRange ipRange, final SharedAccessProtocols protocols)

使用指定的组策略标识符和操作上下文返回基于 Blob 的用户委派密钥的共享访问签名。 请注意,这不包含前导“?”。

String generateUserDelegationSharedAccessSignature(UserDelegationKey delegationKey, SharedAccessBlobPolicy policy)

使用指定的组策略标识符和操作上下文返回基于 Blob 的用户委派密钥的共享访问签名。 请注意,这不包含前导“?”。

final CloudBlobContainer getContainer()

返回 Blob 的容器。

CopyState getCopyState()

返回 Blob 的复制状态。

final HashMap<String, String> getMetadata()

返回 Blob 的元数据。

final String getName()

返回 Blob 的名称。

final CloudBlobDirectory getParent()

返回 Blob 项的父级。

String getParentNameFromURI(final StorageUri resourceAddress, final String delimiter, final CloudBlobContainer container)

检索 Blob URI 的父名称。

final BlobProperties getProperties()

返回 Blob 的属性。

final StorageUri getQualifiedStorageUri()

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

<xreftitle>Deprecated</xreftitle>

<xrefdescription>

  <p>use <xref uid="com.microsoft.azure.storage.blob.CloudBlob.getSnapshotQualifiedStorageUri()" data-throw-if-not-resolved="false" data-raw-source="getSnapshotQualifiedStorageUri()"></xref> instead.</p>

</xrefdescription>

final URI getQualifiedUri()

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

<xreftitle>Deprecated</xreftitle>

<xrefdescription>

  <p>use <xref uid="com.microsoft.azure.storage.blob.CloudBlob.getSnapshotQualifiedUri()" data-throw-if-not-resolved="false" data-raw-source="getSnapshotQualifiedUri()"></xref> instead.</p>

</xrefdescription>

final CloudBlobClient getServiceClient()

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

final String getSnapshotID()

获取 Blob 快照 ID。

final StorageUri getSnapshotQualifiedStorageUri()

返回主要位置和辅助位置的 blob URI,包括查询字符串信息(如果 blob 是快照)。

final URI getSnapshotQualifiedUri()

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

final StorageUri getStorageUri()

返回所有位置的 URI 列表。

final int getStreamMinimumReadSizeInBytes()

使用 BlobInputStream时返回最小读取大小。

final int getStreamWriteSizeInBytes()

获取写入 BlobOutputStream (块和页 blob) 时要缓冲的字节数。

final StorageUri getTransformedAddress(final OperationContext opContext)

如果给定的凭据需要转换,则返回资源的转换 URI。

final URI getUri()

返回此 Blob 的 URI。

final boolean isSnapshot()

指示此 blob 是否为快照。

final BlobInputStream openInputStream()

打开 Blob 输入流以下载 Blob。

使用 setStreamMinimumReadSizeInBytes(final int minimumReadSize) 配置读取大小。

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

打开 Blob 输入流,以使用指定的请求选项和操作上下文下载 Blob。

使用 setStreamMinimumReadSizeInBytes(final int minimumReadSize) 配置读取大小。

final BlobInputStream openInputStream(final long offset, final Long length, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

打开 Blob 输入流,以使用指定的请求选项和操作上下文下载 Blob。 如果 Blob 在下载时解密,则会跳过最终 MD5 验证。

使用 setStreamMinimumReadSizeInBytes(final int minimumReadSize) 配置读取大小。

final void releaseLease(final AccessCondition accessCondition)

释放 Blob 上的租约。

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

使用指定的请求选项和操作上下文释放 Blob 上的租约。

final void renewLease(final AccessCondition accessCondition)

续订现有租约。

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

使用指定的请求选项和操作上下文续订现有租约。

final void setContainer(final CloudBlobContainer container)

设置 Blob 的容器。

final void setMetadata(final HashMap<String, String> metadata)

设置 Blob 的元数据。

final void setProperties(final BlobProperties properties)

设置 Blob 的属性。

final void setSnapshotID(final String snapshotID)

设置 blob 快照 ID。

void setStorageUri(final StorageUri storageUri)

设置所有位置的 URI 列表。

void setStreamMinimumReadSizeInBytes(final int minimumReadSize)

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

abstract void setStreamWriteSizeInBytes(int streamWriteSizeInBytes)

设置写入 BlobOutputStream (块和页 blob) 时要缓冲的字节数。

final String startCopy(final URI source)

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

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

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

final String startCopy(final URI source, final String blobTierString, final AccessCondition sourceAccessCondition, final AccessCondition destinationAccessCondition, BlobRequestOptions options, OperationContext opContext)

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

注意:仅高级帐户支持设置 premiumPageBlobTier。

final String startCopy(final URI source, String contentMd5, boolean syncCopy, final String blobTierString, final AccessCondition sourceAccessCondition, final AccessCondition destinationAccessCondition, BlobRequestOptions options, OperationContext opContext)

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

注意:仅高级帐户支持设置 premiumPageBlobTier。

final String startCopy(final URI source, String contentMd5, boolean syncCopy, final String blobTierString, final RehydratePriority rehydratePriority, final AccessCondition sourceAccessCondition, final AccessCondition destinationAccessCondition, BlobRequestOptions options, OperationContext opContext)

请求服务使用指定的高级页 Blob 层、解除冻结优先级、访问条件、租用 ID、请求选项和操作上下文,开始将 URI 的内容、属性和元数据复制到新 Blob。

注意:仅高级帐户支持设置 premiumPageBlobTier。

StorageRequest<CloudBlobClient, CloudBlob, String> startCopyImpl(final URI source, final String contentMd5, final boolean syncCopy, final boolean incrementalCopy, final String blobTierString, final RehydratePriority rehydratePriority, final AccessCondition sourceAccessCondition, final AccessCondition destinationAccessCondition, final BlobRequestOptions options)
final void undelete()

取消删除 Blob 及其所有已软删除的快照。

final void undelete(BlobRequestOptions options, OperationContext opContext)

使用指定的请求选项和操作上下文取消删除已软删除的 Blob。

取消删除 Blob 操作将还原软删除 blob 及其所有快照的内容和元数据。 尝试取消删除未软删除的 blob 或快照将成功,而不会进行任何更改。

void updateEtagAndLastModifiedFromResponse(HttpURLConnection request)
void updateLengthFromResponse(HttpURLConnection request)
abstract void upload(InputStream sourceStream, long length)

将源流数据上传到 Blob。 如果服务中已存在 Blob,则会覆盖该 Blob。

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

使用指定的租约 ID、请求选项和操作上下文将源流数据上传到 Blob。 如果服务中已存在 Blob,则会覆盖该 Blob。

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

从字节数组中的数据上传 Blob。 如果服务中已存在 Blob,则会覆盖该 Blob。

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

从字节数组中的数据上传 Blob。 如果服务中已存在 Blob,则会覆盖该 Blob。

void uploadFromFile(final String path)

从文件上传 Blob。 如果服务中已存在 Blob,则会覆盖该 Blob。

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

从文件上传 Blob。 如果服务中已存在 Blob,则会覆盖该 Blob。

final void uploadMetadata()

将 Blob 的元数据上传到存储服务。

使用 downloadAttributes() 从 Microsoft Azure 存储服务检索 Blob 属性和元数据的最新值。

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

使用指定的租用 ID、请求选项和操作上下文将 Blob 的元数据上传到存储服务。

使用 downloadAttributes() 从 Microsoft Azure 存储服务检索 Blob 属性和元数据的最新值。

final void uploadProperties()

将 blob 的属性汇报存储服务。

使用 downloadAttributes() 从 Microsoft Azure 存储服务检索 Blob 属性和元数据的最新值。

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

使用指定的租约 ID、请求选项和操作上下文汇报 Blob 的属性。

使用 downloadAttributes() 从 Microsoft Azure 存储服务检索 Blob 属性和元数据的最新值。

static<T extends CloudBlob, R> void validateCPKHeaders(StorageRequest<CloudBlobClient, T, R> request, BlobRequestOptions options, boolean upload)

如果请求选项包含 CPK,请验证关联的响应标头。

字段详细信息

blobServiceClient

protected CloudBlobClient blobServiceClient

表示 Blob 客户端。

parent

protected CloudBlobDirectory parent

表示 Blob 的目录。

streamMinimumReadSizeInBytes

protected int streamMinimumReadSizeInBytes= Constants.DEFAULT_MINIMUM_READ_SIZE_IN_BYTES

使用 BlobInputStream时保留最小读取大小。

streamWriteSizeInBytes

protected int streamWriteSizeInBytes= Constants.DEFAULT_STREAM_WRITE_IN_BYTES

保留写入 BlobOutputStream (块和页 blob) 时要缓冲的字节数。

构造函数详细信息

CloudBlob

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

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

Parameters:

type - 一个 BlobType 值,该值表示 Blob 的类型。
uri - 一个 StorageUri 对象,它表示 Blob 的 URI,以容器名称开头。
snapshotID - 一个 String ,表示快照版本(如果适用)。
credentials - StorageCredentials用于对访问进行身份验证的对象。

Throws:

StorageException - 如果发生存储服务错误。

CloudBlob

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

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

Parameters:

type - 一个 BlobType 值,该值表示 Blob 的类型。
blobName - blob 的名称。
snapshotID - 一个 String ,表示快照版本(如果适用)。
container - 对父容器的引用。

Throws:

URISyntaxException - 如果资源 URI 无效。

CloudBlob

protected CloudBlob(final CloudBlob otherBlob)

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

Parameters:

otherBlob - 一个 CloudBlob 对象,表示要复制的 Blob。

方法详细信息

abortCopy

public final void abortCopy(final String copyId)

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

Parameters:

copyId - 标识 String 复制操作的 对象。

Throws:

StorageException - 如果发生存储服务错误。

abortCopy

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

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

Parameters:

copyId - 标识 String 复制操作的 对象。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。

acquireLease

public final String acquireLease()

获取 Blob 上的新无限租约。

Returns:

一个 String ,表示租约 ID。

Throws:

StorageException - 如果发生存储服务错误。

acquireLease

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

在 Blob 上获取具有指定租约时间和建议的租约 ID 的新租约。

Parameters:

leaseTimeInSeconds - 一个 Integer ,它指定要获取租约的时间跨度(以秒为单位)。 如果为 null,则将获取无限租约。 如果不是 null,则该值必须大于零。
proposedLeaseId - 一个 String ,表示新租约的建议租约 ID;如果未建议租约 ID,则为 null。

Returns:

一个 String ,表示租约 ID。

Throws:

StorageException - 如果发生存储服务错误。

acquireLease

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

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

Parameters:

leaseTimeInSeconds - 一个 Integer ,它指定要获取租约的时间跨度(以秒为单位)。 如果为 null,则将获取无限租约。 如果不是 null,则该值必须大于零。
proposedLeaseId - 一个 String ,表示新租约的建议租约 ID;如果未建议租约 ID,则为 null。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 上下文用于跟踪对存储服务的请求,并提供有关操作的其他运行时信息。

Returns:

一个 String ,表示租约 ID。

Throws:

StorageException - 如果发生存储服务错误。

assertCorrectBlobType

protected final void assertCorrectBlobType()

断言 Blob 具有 blob 属性中指定的正确 Blob 类型。

Throws:

StorageException - 如果使用的 Blob 类型不正确。

assertNoWriteOperationForSnapshot

protected void assertNoWriteOperationForSnapshot()

断言不对快照执行写入操作。

breakLease

public final long breakLease(final Integer breakPeriodInSeconds)

中断租约,并确保其他客户端在当前租约期到期之前无法获取新租约。

Parameters:

breakPeriodInSeconds - 指定在当前租约中断之前等待的时间(以秒为单位)。 如果为 null,则中断期是当前租约的剩余时间;对于无限期租约,则为零。

Returns:

一个 long ,它指定租约期间剩余的时间(以秒为单位)。

Throws:

StorageException - 如果发生存储服务错误。

breakLease

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

使用指定的请求选项和操作上下文中断现有租约,并确保其他客户端在当前租约期到期之前无法获取新租约。

Parameters:

breakPeriodInSeconds - 一个 , Integer 它指定在当前租约中断之前等待的时间(以秒为单位)。 如果为 null,则中断期是当前租约的剩余时间;对于无限期租约,则为零。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 上下文用于跟踪对存储服务的请求,并提供有关操作的其他运行时信息。

Returns:

一个 long ,它表示租约期内剩余的时间(以秒为单位)。

Throws:

StorageException - 如果发生存储服务错误。

changeLease

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

将现有租约 ID 更改为建议的租约 ID。

Parameters:

proposedLeaseId - 一个 String ,表示新租约的建议租约 ID;如果未建议租约 ID,则为 null。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。 需要使用访问条件设置租约 ID。

Returns:

一个 String ,表示新的租约 ID。

Throws:

StorageException - 如果发生存储服务错误。

changeLease

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

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

Parameters:

proposedLeaseId - 一个 String ,表示新租约的建议租约 ID;如果未建议租约 ID,则为 null。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。 需要使用访问条件设置租约 ID。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 上下文用于跟踪对存储服务的请求,并提供有关操作的其他运行时信息。

Returns:

一个 String ,表示新的租约 ID。

Throws:

StorageException - 如果发生存储服务错误。

createSnapshot

public final CloudBlob createSnapshot()

创建 Blob 的快照。

Returns:

一个 CloudBlob 表示 blob 快照的 对象。

Throws:

StorageException - 如果发生存储服务错误。

createSnapshot

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

使用指定的请求选项和操作上下文创建 blob 的快照。

Parameters:

accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

一个 CloudBlob 表示 blob 快照的 对象。

Throws:

StorageException - 如果发生存储服务错误。

createSnapshot

public final CloudBlob createSnapshot(final HashMap metadata, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

使用指定的请求选项和操作上下文创建 blob 的快照。

Parameters:

metadata - 定义快照元数据的名称/值对集合,或 null。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

一个 CloudBlob 表示 blob 快照的 对象。

Throws:

StorageException - 如果发生存储服务错误。

delete

public final void delete()

删除 Blob。

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

Throws:

StorageException - 如果发生存储服务错误。

delete

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

使用指定的快照和请求选项以及操作上下文删除 Blob。

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

不能删除具有快照的 Blob,除非也删除这些快照。 如果 Blob 具有快照,请使用 DELETE_SNAPSHOTS_ONLY 参数中的 或 INCLUDE_SNAPSHOTS 值指定删除 Blob 时如何处理快照。

Parameters:

deleteSnapshotsOption - 一个 DeleteSnapshotsOption 对象,指示是仅删除快照还是删除 Blob 及其快照。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。

deleteIfExists

public final boolean deleteIfExists()

删除 Blob(如果存在)。

不能删除具有快照的 Blob,除非也删除这些快照。 如果 Blob 具有快照,请使用 DELETE_SNAPSHOTS_ONLY 参数中的 或 INCLUDE_SNAPSHOTS 值指定删除 Blob 时应如何处理快照。

Returns:

true 如果 Blob 已删除,则为 ;否则为 false

Throws:

StorageException - 如果发生存储服务错误。

deleteIfExists

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

使用指定的快照和请求选项以及操作上下文删除 Blob(如果存在)。

不能删除具有快照的 Blob,除非也删除这些快照。 如果 Blob 具有快照,请使用 DELETE_SNAPSHOTS_ONLY 参数中的 或 INCLUDE_SNAPSHOTS 值指定删除 Blob 时应如何处理快照。

Parameters:

deleteSnapshotsOption - 一个 DeleteSnapshotsOption 对象,该对象指示是仅删除快照,还是删除 Blob 及其快照。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 ( CloudBlobClient) 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

true 如果 Blob 存在且已删除,则为 ;否则 false

Throws:

StorageException - 如果发生存储服务错误。

download

public final void download(final OutputStream outStream)

将 Blob 的内容下载到流。

Parameters:

outStream - 一个 OutputStream 表示目标流的 对象。

Throws:

StorageException - 如果发生存储服务错误。

download

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

使用指定的请求选项和操作上下文将 Blob 的内容下载到流中。

Parameters:

outStream - 一个 OutputStream 表示目标流的 对象。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 ( CloudBlobClient) 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。

downloadAccountInfo

public AccountInformation downloadAccountInfo()

获取与此 Blob 所在的存储帐户相关的信息。

Returns:

AccountInformation给定存储帐户的 对象。

Throws:

StorageException - 如果发生存储服务错误。

downloadAccountInfo

public AccountInformation downloadAccountInfo(BlobRequestOptions options, OperationContext opContext)

获取与此 Blob 所在的存储帐户相关的信息。

Parameters:

options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 ( CloudBlobClient) 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

AccountInformation给定存储帐户的 对象。

Throws:

StorageException - 如果发生存储服务错误。

downloadAccountInformationImpl

protected StorageRequest downloadAccountInformationImpl(final RequestOptions options)

Parameters:

options

downloadAttributes

public final void downloadAttributes()

填充 Blob 的属性和元数据。

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

Throws:

StorageException - 如果发生存储服务错误。

downloadAttributes

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

使用指定的请求选项和操作上下文填充 Blob 的属性和元数据。

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

Parameters:

accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 ( CloudBlobClient) 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。

downloadRange

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

将 Blob 的内容下载到流。

Parameters:

offset - 一个 , long 表示用作源起点的偏移量。
length - 一个 Long ,它表示要读取的字节数 或 null
outStream - 一个 OutputStream 表示目标流的 对象。

Throws:

StorageException - 如果发生存储服务错误。

downloadRange

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

使用指定的请求选项和操作上下文将 Blob 的内容下载到流中。

Parameters:

offset - 一个 , long 表示用作源起点的偏移量。
length - 一个 Long ,它表示要读取的字节数 或 null
outStream - 一个 OutputStream 表示目标流的 对象。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 ( CloudBlobClient) 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。

downloadRangeInternal

protected final int downloadRangeInternal(final long blobOffset, final Long length, final byte[] buffer, final int bufferOffset, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

将一系列字节从 Blob 下载到给定的字节缓冲区。

Parameters:

blobOffset - 一个 , long 表示 Blob 中开始下载的偏移量。
length - 一个 Long ,它表示要读取的字节数。
buffer - 一个 byte 数组,表示要写入的缓冲区。
bufferOffset - 一个 , int 表示字节缓冲区中要开始写入的偏移量。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。
opContext - 一个 OperationContext 对象,用于跟踪操作的执行。

Returns:

读入缓冲区中的总字节数。

Throws:

StorageException - 表示操作期间发生的任何错误的异常。

downloadRangeToByteArray

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

将一系列字节从 Blob 下载到给定的字节缓冲区。

Parameters:

offset - 一个 , long 表示要用作源起点的字节偏移量。
length - 一个 Long ,它表示要读取的字节数或 null。
buffer - 一个 byte 数组,表示 Blob 字节下载到的缓冲区。
bufferOffset - 一个 int ,表示用作目标的起点的字节偏移量。

Returns:

读入缓冲区中的总字节数。

Throws:

StorageException

downloadRangeToByteArray

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

使用指定的请求选项和操作上下文,将 Blob 中的字节范围下载到给定的字节缓冲区。

Parameters:

offset - 一个 , long 表示要用作源起点的字节偏移量。
length - 一个 Long ,它表示要读取的字节数 或 null
buffer - 一个 byte 数组,表示 Blob 字节下载到的缓冲区。
bufferOffset - 一个 int ,表示用作目标的起点的字节偏移量。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 ( CloudBlobClient) 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

读入缓冲区中的总字节数。

Throws:

StorageException - 如果发生存储服务错误。

downloadToByteArray

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

将一系列字节从 Blob 下载到给定的字节缓冲区。

Parameters:

buffer - 一个 byte 数组,表示 Blob 字节下载到的缓冲区。
bufferOffset - 一个 int ,表示用作目标的起点的字节偏移量。

Throws:

StorageException - 如果发生存储服务错误。

downloadToByteArray

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

使用指定的请求选项和操作上下文将一系列字节从 Blob 下载到给定字节缓冲区。

Parameters:

buffer - 一个 byte 数组,表示 Blob 字节下载到的缓冲区。
bufferOffset - 一个 long ,表示用作目标起点的字节偏移量。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。

downloadToFile

public void downloadToFile(final String path)

下载 Blob,将内容存储在文件中。

Parameters:

path - 一个 String ,它表示将使用 Blob 内容创建的文件的路径。

Throws:

StorageException - 如果发生存储服务错误。
IOException

downloadToFile

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

下载 Blob,将内容存储在文件中。

Parameters:

path - 一个 String ,它表示将使用 Blob 内容创建的文件的路径。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。
IOException

exists

public final boolean exists()

检查 Blob 是否存在。

Returns:

true 如果 Blob 存在,则为 ;否则为 false

Throws:

StorageException - 如果发生存储服务错误。

exists

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

使用指定的请求选项和操作上下文检查 Blob 是否存在。

Parameters:

accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

true 如果 Blob 存在,则为 ;否则为 false

Throws:

StorageException - 如果发生存储服务错误。

generateSharedAccessSignature

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

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

Parameters:

policy - 一个 SharedAccessPolicy 对象,表示共享访问签名的访问策略。
headers - 一个 SharedAccessBlobHeaders 对象,表示要为此共享访问签名访问的 Blob 设置的可选标头值。
groupPolicyIdentifier - 一个 String ,它表示容器级访问策略。

Returns:

一个 String 表示共享访问签名的 。

Throws:

IllegalArgumentException - 如果凭据无效或 blob 是快照。
InvalidKeyException - 如果凭据无效。
StorageException - 如果发生存储服务错误。

generateSharedAccessSignature

public String generateSharedAccessSignature(final SharedAccessBlobPolicy policy, final SharedAccessBlobHeaders headers, final String groupPolicyIdentifier, final IPRange ipRange, final SharedAccessProtocols protocols)

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

Parameters:

policy - 一个 SharedAccessPolicy 对象,表示共享访问签名的访问策略。
headers - 一个 SharedAccessBlobHeaders 对象,表示要为此共享访问签名访问的 Blob 设置的可选标头值。
groupPolicyIdentifier - 一个 String ,它表示容器级访问策略。
ipRange - 包含 IPRange 允许的 IP 地址范围的 对象。
protocols - 一个 SharedAccessProtocols ,表示允许的 Internet 协议。

Returns:

一个 String 表示共享访问签名的 。

Throws:

IllegalArgumentException - 如果凭据无效或 blob 是快照。
InvalidKeyException - 如果凭据无效。
StorageException - 如果发生存储服务错误。

generateSharedAccessSignature

public String generateSharedAccessSignature(final SharedAccessBlobPolicy policy, final SharedAccessBlobHeaders headers, final String groupPolicyIdentifier, final IPRange ipRange, final SharedAccessProtocols protocols, boolean skipDecoding)

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

Parameters:

policy - 一个 SharedAccessPolicy 对象,表示共享访问签名的访问策略。
headers - 一个 SharedAccessBlobHeaders 对象,表示要为此共享访问签名访问的 Blob 设置的可选标头值。
groupPolicyIdentifier - 一个 String ,它表示容器级访问策略。
ipRange - 包含 IPRange 允许的 IP 地址范围的 对象。
protocols - 一个 SharedAccessProtocols ,表示允许的 Internet 协议。
skipDecoding - 一个 boolean ,指示在签名之前不应解码查询参数。 仅当客户确定传递的值采用所需格式时,才应使用此选项。 在某些情况下,如果客户端用于向第三方生成 sas,而第三方不会使用此 sdk 发出请求,则这一点可能很有用。

Returns:

一个 String 表示共享访问签名的 。

Throws:

IllegalArgumentException - 如果凭据无效或 blob 是快照。
InvalidKeyException - 如果凭据无效。
StorageException - 如果发生存储服务错误。

generateSharedAccessSignature

public String generateSharedAccessSignature(final SharedAccessBlobPolicy policy, final String groupPolicyIdentifier)

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

Parameters:

policy - 一个 SharedAccessPolicy 对象,表示共享访问签名的访问策略。
groupPolicyIdentifier - 一个 String ,它表示容器级访问策略。

Returns:

一个 String 表示共享访问签名的 。

Throws:

IllegalArgumentException - 如果凭据无效或 blob 是快照。
InvalidKeyException - 如果凭据无效。
StorageException - 如果发生存储服务错误。

generateUserDelegationSharedAccessSignature

public String generateUserDelegationSharedAccessSignature(final UserDelegationKey delegationKey, final SharedAccessBlobPolicy policy, final SharedAccessBlobHeaders headers, final IPRange ipRange, final SharedAccessProtocols protocols)

使用指定的组策略标识符和操作上下文返回基于 Blob 的用户委派密钥的共享访问签名。 请注意,这不包含前导“?”。

Parameters:

delegationKey - 一个 UserDelegationKey ,表示用于对此签名的密钥。
policy - 一个 SharedAccessPolicy 对象,表示共享访问签名的访问策略。
headers - 一个 SharedAccessBlobHeaders 对象,表示要为此共享访问签名访问的 Blob 设置的可选标头值。
ipRange - 包含 IPRange 允许的 IP 地址范围的 对象。
protocols - 一个 SharedAccessProtocols ,表示允许的 Internet 协议。

Returns:

一个 String 表示共享访问签名的 。

Throws:

StorageException - 如果发生存储服务错误。

generateUserDelegationSharedAccessSignature

public String generateUserDelegationSharedAccessSignature(UserDelegationKey delegationKey, SharedAccessBlobPolicy policy)

使用指定的组策略标识符和操作上下文返回基于 Blob 的用户委派密钥的共享访问签名。 请注意,这不包含前导“?”。

Parameters:

delegationKey - 一个 UserDelegationKey ,表示用于对此签名的密钥。
policy - 一个 SharedAccessPolicy 对象,表示共享访问签名的访问策略。

Returns:

一个 String 表示共享访问签名的 。

Throws:

StorageException - 如果发生存储服务错误。

getContainer

public final CloudBlobContainer getContainer()

返回 Blob 的容器。

Overrides:

CloudBlob.getContainer()

Returns:

一个 CloudBlobContainer 对象,表示 Blob 的容器。

Throws:

StorageException - 如果发生存储服务错误。
URISyntaxException - 如果资源 URI 无效。

getCopyState

public CopyState getCopyState()

返回 Blob 的复制状态。

Returns:

一个 CopyState 对象,表示 Blob 的复制状态。

getMetadata

public final HashMap getMetadata()

返回 Blob 的元数据。

Returns:

一个 java.util.HashMap 对象,表示 Blob 的元数据。

getName

public final String getName()

返回 Blob 的名称。

Returns:

一个 String ,表示 Blob 的名称。

getParent

public final CloudBlobDirectory getParent()

返回 Blob 项的父级。

Overrides:

CloudBlob.getParent()

Returns:

一个 CloudBlobDirectory 对象,表示 Blob 的父目录。

Throws:

StorageException - 如果发生存储服务错误。
URISyntaxException - 如果资源 URI 无效。

getParentNameFromURI

protected static String getParentNameFromURI(final StorageUri resourceAddress, final String delimiter, final CloudBlobContainer container)

检索 Blob URI 的父名称。

Parameters:

resourceAddress - 表示 StorageUri 资源 URI 的 对象。
delimiter - 一个 String ,它指定要使用的目录分隔符。
container - 表示 CloudBlobContainer Blob 容器的 对象。

Returns:

String 它表示 Blob URI 的父地址。

Throws:

URISyntaxException

getProperties

public final BlobProperties getProperties()

返回 Blob 的属性。

Returns:

一个 BlobProperties 表示 Blob 属性的 对象。

getQualifiedStorageUri

public final StorageUri getQualifiedStorageUri()

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

<xreftitle>Deprecated</xreftitle>

<xrefdescription>

  <p>use <xref uid="com.microsoft.azure.storage.blob.CloudBlob.getSnapshotQualifiedStorageUri()" data-throw-if-not-resolved="false" data-raw-source="getSnapshotQualifiedStorageUri()"></xref> instead.</p>

</xrefdescription>

Returns:

表示StorageUri快照或共享访问签名的 对象。

Throws:

StorageException - 如果发生存储服务错误。
URISyntaxException - 如果资源 URI 无效。

getQualifiedUri

public final URI getQualifiedUri()

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

<xreftitle>Deprecated</xreftitle>

<xrefdescription>

  <p>use <xref uid="com.microsoft.azure.storage.blob.CloudBlob.getSnapshotQualifiedUri()" data-throw-if-not-resolved="false" data-raw-source="getSnapshotQualifiedUri()"></xref> instead.</p>

</xrefdescription>

Returns:

表示java.net.URI快照或共享访问签名的 对象。

Throws:

StorageException - 如果发生存储服务错误。
URISyntaxException - 如果资源 URI 无效。

getServiceClient

public final CloudBlobClient getServiceClient()

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

Returns:

一个 CloudBlobClient 表示客户端的 对象。

getSnapshotID

public final String getSnapshotID()

获取 Blob 快照 ID。

Returns:

String 它表示 Blob 快照 ID。

getSnapshotQualifiedStorageUri

public final StorageUri getSnapshotQualifiedStorageUri()

返回主要位置和辅助位置的 blob URI,包括查询字符串信息(如果 blob 是快照)。

Returns:

一个 StorageUri 对象,该对象包含主要位置和辅助位置的 blob URI,包括快照查询信息(如果 blob 是快照)。

Throws:

StorageException - 如果发生存储服务错误。
URISyntaxException - 如果资源 URI 无效。

getSnapshotQualifiedUri

public final URI getSnapshotQualifiedUri()

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

Returns:

一个 java.net.URI 对象,指定 blob 的绝对 URI,包括快照查询信息(如果 blob 是快照)。

Throws:

StorageException - 如果发生存储服务错误。
URISyntaxException - 如果资源 URI 无效。

getStorageUri

public final StorageUri getStorageUri()

返回所有位置的 URI 列表。

Overrides:

CloudBlob.getStorageUri()

Returns:

一个 StorageUri ,它表示所有位置的 URI 列表。

getStreamMinimumReadSizeInBytes

public final int getStreamMinimumReadSizeInBytes()

使用 BlobInputStream时返回最小读取大小。

Returns:

一个 int ,它表示使用 BlobInputStream 对象时的最小读取大小(以字节为单位)。

getStreamWriteSizeInBytes

public final int getStreamWriteSizeInBytes()

获取写入 BlobOutputStream (块和页 blob) 时要缓冲的字节数。

Returns:

一个 , int 它表示要缓冲的字节数或块的大小(以字节为单位)。

getTransformedAddress

protected final StorageUri getTransformedAddress(final OperationContext opContext)

如果给定的凭据需要转换,则返回资源的转换 URI。

Parameters:

opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

一个 StorageUri 表示转换后的 URI 的 对象。

Throws:

IllegalArgumentException - 如果 URI 不是绝对 URI,则为 。
StorageException - 如果发生存储服务错误。
URISyntaxException - 如果资源 URI 无效。

getUri

public final URI getUri()

返回此 Blob 的 URI。

Overrides:

CloudBlob.getUri()

Returns:

一个 java.net.URI 对象,表示 Blob 的 URI。

isSnapshot

public final boolean isSnapshot()

指示此 blob 是否为快照。

Returns:

true如果 blob 是快照,则为 ;否则为 false

openInputStream

public final BlobInputStream openInputStream()

打开 Blob 输入流以下载 Blob。

使用 setStreamMinimumReadSizeInBytes(final int minimumReadSize) 配置读取大小。

Returns:

一个 InputStream 对象,表示要用于从 Blob 读取的流。

Throws:

StorageException - 如果发生存储服务错误。

openInputStream

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

打开 Blob 输入流,以使用指定的请求选项和操作上下文下载 Blob。

使用 setStreamMinimumReadSizeInBytes(final int minimumReadSize) 配置读取大小。

Parameters:

accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

一个 InputStream 对象,表示要用于从 Blob 读取的流。

Throws:

StorageException - 如果发生存储服务错误。

openInputStream

public final BlobInputStream openInputStream(final long offset, final Long length, final AccessCondition accessCondition, BlobRequestOptions options, OperationContext opContext)

打开 Blob 输入流,以使用指定的请求选项和操作上下文下载 Blob。 如果 Blob 在下载时解密,则会跳过最终 MD5 验证。

使用 setStreamMinimumReadSizeInBytes(final int minimumReadSize) 配置读取大小。

Parameters:

offset - 一个 long ,表示用作源起点的偏移量。
length - 一个 Long ,它表示要读取或 null的字节数。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

一个 InputStream 对象,表示要用于从 Blob 读取的流。

Throws:

StorageException - 如果发生存储服务错误。

releaseLease

public final void releaseLease(final AccessCondition accessCondition)

释放 Blob 上的租约。

Parameters:

accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。 需要在 AccessCondition 上设置 LeaseID。

Throws:

StorageException - 如果发生存储服务错误。

releaseLease

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

使用指定的请求选项和操作上下文释放 Blob 上的租约。

Parameters:

accessCondition - 一个 AccessCondition 对象,表示 Blob 的访问条件。需要在 AccessCondition 上设置 LeaseID。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。

renewLease

public final void renewLease(final AccessCondition accessCondition)

续订现有租约。

Parameters:

accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。 需要在 AccessCondition 上设置 LeaseID。

Throws:

StorageException - 如果发生存储服务错误。

renewLease

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

使用指定的请求选项和操作上下文续订现有租约。

Parameters:

accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。 需要在 AccessCondition 上设置 LeaseID。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。

setContainer

protected final void setContainer(final CloudBlobContainer container)

设置 Blob 的容器。

Parameters:

container - 一个 CloudBlobContainer 对象,表示要分配给 Blob 的容器。

setMetadata

public final void setMetadata(final HashMap metadata)

设置 Blob 的元数据。

Parameters:

metadata - 一个 java.util.HashMap 对象,其中包含要分配给 Blob 的元数据。

setProperties

protected final void setProperties(final BlobProperties properties)

设置 Blob 的属性。

Parameters:

properties - 一个 BlobProperties 对象,表示要分配给 Blob 的属性。

setSnapshotID

protected final void setSnapshotID(final String snapshotID)

设置 blob 快照 ID。

Parameters:

snapshotID - 一个 String ,表示要分配给 blob 的快照 ID。

setStorageUri

protected void setStorageUri(final StorageUri storageUri)

设置所有位置的 URI 列表。

Parameters:

storageUri - 一个 StorageUri ,它表示所有位置的 URI 列表。

setStreamMinimumReadSizeInBytes

public void setStreamMinimumReadSizeInBytes(final int minimumReadSize)

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

Parameters:

minimumReadSize - 一个 int ,表示在使用 BlobInputStream 对象时从 Blob 读取的最小块大小(以字节为单位)。 必须大于或等于 16 KB。

Throws:

IllegalArgumentException - 如果 minimumReadSize 小于 16 KB。

setStreamWriteSizeInBytes

public abstract void setStreamWriteSizeInBytes(int streamWriteSizeInBytes)

设置写入 BlobOutputStream (块和页 blob) 时要缓冲的字节数。

Parameters:

streamWriteSizeInBytes - 一个 int ,表示要缓冲的字节数或块的大小(以字节为单位)。

startCopy

public final String startCopy(final URI source)

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

Parameters:

source - 一个 java.net.URI 源 URI。 Azure 外部资源的 URI 只能复制到块 Blob 中。

Returns:

String 它表示与复制操作关联的复制 ID。

Throws:

StorageException - 如果发生存储服务错误。

startCopy

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

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

Parameters:

source - 一个 java.net.URI 源 URI。 Azure 外部资源的 URI 只能复制到块 Blob 中。
sourceAccessCondition - 一个 AccessCondition 对象,表示源的访问条件。
destinationAccessCondition - 一个 AccessCondition 对象,表示目标的访问条件。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

String 它表示与复制操作关联的复制 ID。

Throws:

StorageException - 如果发生存储服务错误。

startCopy

protected final String startCopy(final URI source, final String blobTierString, final AccessCondition sourceAccessCondition, final AccessCondition destinationAccessCondition, BlobRequestOptions options, OperationContext opContext)

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

注意:仅高级帐户支持设置 premiumPageBlobTier。

Parameters:

source - 一个 java.net.URI 源 URI。 Azure 外部资源的 URI 只能复制到块 Blob 中。
blobTierString - 一个表示 Blob 层的字符串。
sourceAccessCondition - 一个 AccessCondition 对象,表示源的访问条件。
destinationAccessCondition - 一个 AccessCondition 对象,表示目标的访问条件。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

String 它表示与复制操作关联的复制 ID。

Throws:

StorageException - 如果发生存储服务错误。

startCopy

protected final String startCopy(final URI source, String contentMd5, boolean syncCopy, final String blobTierString, final AccessCondition sourceAccessCondition, final AccessCondition destinationAccessCondition, BlobRequestOptions options, OperationContext opContext)

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

注意:仅高级帐户支持设置 premiumPageBlobTier。

Parameters:

source - 一个 java.net.URI 源 URI。 Azure 外部资源的 URI 只能复制到块 Blob 中。
contentMd5 - 一个可选哈希值,用于确保操作的事务完整性。 可以为 null 或空。
syncCopy - 一个 boolean ,指示是否应在服务上同步复制。
blobTierString - 一个表示 Blob 层的字符串。
sourceAccessCondition - 一个 AccessCondition 对象,表示源的访问条件。
destinationAccessCondition - 一个 AccessCondition 对象,表示目标的访问条件。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

String 它表示与复制操作关联的复制 ID。

Throws:

StorageException - 如果发生存储服务错误。

startCopy

protected final String startCopy(final URI source, String contentMd5, boolean syncCopy, final String blobTierString, final RehydratePriority rehydratePriority, final AccessCondition sourceAccessCondition, final AccessCondition destinationAccessCondition, BlobRequestOptions options, OperationContext opContext)

请求服务使用指定的高级页 Blob 层、解除冻结优先级、访问条件、租用 ID、请求选项和操作上下文,开始将 URI 的内容、属性和元数据复制到新 Blob。

注意:仅高级帐户支持设置 premiumPageBlobTier。

Parameters:

source - 一个 java.net.URI 源 URI。 Azure 外部资源的 URI 只能复制到块 Blob 中。
contentMd5 - 一个可选哈希值,用于确保操作的事务完整性。 可以为 null 或空。
syncCopy - 一个 boolean ,指示是否应在服务上同步复制。
blobTierString - 一个 String 表示 Blob 层的 对象。
rehydratePriority - 表示 RehydratePriority 解除冻结优先级的 对象。
sourceAccessCondition - 一个 AccessCondition 对象,表示源的访问条件。
destinationAccessCondition - 一个 AccessCondition 对象,表示目标的访问条件。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

String 它表示与复制操作关联的复制 ID。

Throws:

StorageException - 如果发生存储服务错误。

startCopyImpl

protected StorageRequest startCopyImpl(final URI source, final String contentMd5, final boolean syncCopy, final boolean incrementalCopy, final String blobTierString, final RehydratePriority rehydratePriority, final AccessCondition sourceAccessCondition, final AccessCondition destinationAccessCondition, final BlobRequestOptions options)

Parameters:

source
contentMd5
syncCopy
incrementalCopy
blobTierString
rehydratePriority
sourceAccessCondition
destinationAccessCondition
options

undelete

public final void undelete()

取消删除 Blob 及其所有已软删除的快照。

Throws:

StorageException - 如果发生存储服务错误。

undelete

public final void undelete(BlobRequestOptions options, OperationContext opContext)

使用指定的请求选项和操作上下文取消删除已软删除的 Blob。

取消删除 Blob 操作将还原软删除 blob 及其所有快照的内容和元数据。 尝试取消删除未软删除的 blob 或快照将成功,而不会进行任何更改。

Parameters:

options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。

updateEtagAndLastModifiedFromResponse

protected void updateEtagAndLastModifiedFromResponse(HttpURLConnection request)

Parameters:

request

updateLengthFromResponse

protected void updateLengthFromResponse(HttpURLConnection request)

Parameters:

request

upload

public abstract void upload(InputStream sourceStream, long length)

将源流数据上传到 Blob。 如果服务中已存在 Blob,则会覆盖该 Blob。

Parameters:

sourceStream - 一个 InputStream 对象,表示要上传的源流。
length - 一个 long ,它表示流数据的长度(以字节为单位),如果未知,则为 -1。 页 blob 的长度必须大于 0,并且是 512 的倍数。

Throws:

IOException - 如果发生 I/O 异常。
StorageException - 如果发生存储服务错误。

upload

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

使用指定的租约 ID、请求选项和操作上下文将源流数据上传到 Blob。 如果服务中已存在 Blob,则会覆盖该 Blob。

Parameters:

sourceStream - 一个 InputStream 对象,表示要上传的源流。
length - 流数据的长度(以字节为单位),如果未知,则为 -1。 页 blob 的长度必须大于 0,并且是 512 的倍数。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

IOException - 如果发生 I/O 异常。
StorageException - 如果发生存储服务错误。

uploadFromByteArray

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

从字节数组中的数据上传 Blob。 如果服务中已存在 Blob,则会覆盖该 Blob。

Parameters:

buffer - 表示 byte 要写入 Blob 的数据的数组。
offset - 一个 int ,它表示从中开始上传数据的字节数组的偏移量。
length - 一个 int ,表示要从输入缓冲区上传的字节数。

Throws:

StorageException - 如果发生存储服务错误。
IOException

uploadFromByteArray

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

从字节数组中的数据上传 Blob。 如果服务中已存在 Blob,则会覆盖该 Blob。

Parameters:

buffer - 表示 byte 要写入 Blob 的数据的数组。
offset - 一个 int ,它表示从中开始上传数据的字节数组的偏移量。
length - 一个 int ,表示要从输入缓冲区上传的字节数。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。
IOException

uploadFromFile

public void uploadFromFile(final String path)

从文件上传 Blob。 如果服务中已存在 Blob,则会覆盖该 Blob。

Parameters:

path - 一个 String ,它表示要上载的文件的路径。

Throws:

StorageException - 如果发生存储服务错误。
IOException

uploadFromFile

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

从文件上传 Blob。 如果服务中已存在 Blob,则会覆盖该 Blob。

Parameters:

path - 一个 String ,它表示要上载的文件的路径。
accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。
IOException

uploadMetadata

public final void uploadMetadata()

将 Blob 的元数据上传到存储服务。

使用 downloadAttributes() 从 Microsoft Azure 存储服务检索 Blob 属性和元数据的最新值。

Throws:

StorageException - 如果发生存储服务错误。

uploadMetadata

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

使用指定的租用 ID、请求选项和操作上下文将 Blob 的元数据上传到存储服务。

使用 downloadAttributes() 从 Microsoft Azure 存储服务检索 Blob 属性和元数据的最新值。

Parameters:

accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。

uploadProperties

public final void uploadProperties()

将 blob 的属性汇报存储服务。

使用 downloadAttributes() 从 Microsoft Azure 存储服务检索 Blob 属性和元数据的最新值。

Throws:

StorageException - 如果发生存储服务错误。

uploadProperties

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

使用指定的租约 ID、请求选项和操作上下文汇报 Blob 的属性。

使用 downloadAttributes() 从 Microsoft Azure 存储服务检索 Blob 属性和元数据的最新值。

Parameters:

accessCondition - 一个表示 Blob 访问条件的 AccessCondition 对象。
options - 一个 BlobRequestOptions 对象,该对象指定请求的任何其他选项。 指定 null 将使用关联服务客户端 () CloudBlobClient 的默认请求选项。
opContext - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

StorageException - 如果发生存储服务错误。

validateCPKHeaders

protected static static void validateCPKHeaders(StorageRequest request, BlobRequestOptions options, boolean upload)

如果请求选项包含 CPK,请验证关联的响应标头。

Parameters:

request - 要检查的响应的存储请求。
options - 请求中使用的 Blob 选项。
upload - 这是否是上传,或者我们是否只是在检索数据。

Throws:

StorageException - 如果在请求中使用 CPK 并且响应验证失败,则引发 。

适用于