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

StorageRequest<C,P,R> 类

  • java.lang.Object
    • com.microsoft.azure.storage.core.StorageRequest<C,P,R>

类型参数

C

服务客户端类型

P

父对象的类型,即 cloudBlobContainer for downloadAttributes 等。

R

预期结果的类型

public class StorageRequest<C,P,R>

保留供内部使用。 封装给定存储操作的执行的类。

构造函数摘要

构造函数 说明
StorageRequest()

默认 Ctor。

StorageRequest(final RequestOptions options, StorageUri storageUri)

初始化 StorageRequest 类的新实例。

方法摘要

修饰符和类型 方法和描述
void applyLocationModeToRequest()
abstract HttpURLConnection buildRequest(C client, P parentObject, OperationContext context)

用于构造请求的函数。

boolean getArePropertiesPopulated()
final HttpURLConnection getConnection()
final String getContentMD5()
StreamMd5AndLength getCurrentDescriptor()
StorageLocation getCurrentLocation()
long getCurrentRequestByteCount()
AccessCondition getETagLockCondition()
final StorageException getException()
Long getLength()
LocationMode getLocationMode()
final String getLockedETag()
Long getOffset()
RequestLocationMode getRequestLocationMode()
final RequestOptions getRequestOptions()
final RequestResult getResult()
final InputStream getSendStream()
StorageUri getStorageUri()
final void initialize(OperationContext opContext)

重置操作之间的操作状态标志。

void initializeLocation()
final boolean isNonExceptionedRetryableFailure()
boolean isSent()
final StorageException materializeException(final OperationContext opContext)

如果设置了,则从操作返回保留的异常,否则返回已转换的异常。

StorageExtendedErrorInformation parseErrorDetails()

返回此请求的扩展错误信息。

R postProcessResponse(HttpURLConnection connection, P parentObject, C client, OperationContext context, R storageObject)

后流检索函数。

abstract R preProcessResponse(P parentObject, C client, OperationContext context)

预流检索函数。

void recoveryAction(OperationContext context)

重试的恢复操作。

void setArePropertiesPopulated(boolean arePropertiesPopulated)
final void setConnection(final HttpURLConnection connection)
void setContentMD5(String contentMD5)
void setCurrentDescriptor(StreamMd5AndLength currentDescriptor)
void setCurrentLocation(StorageLocation currentLocation)
void setCurrentRequestByteCount(long currentRequestByteCount)
void setETagLockCondition(AccessCondition etagLockCondition)
final void setException(final StorageException exceptionReference)
void setHeaders(HttpURLConnection connection, P parentObject, OperationContext context)

用于设置自定义标头的函数。

void setIsSent(boolean isSent)
void setLength(Long length)
void setLocationMode(LocationMode locationMode)
void setLockedETag(String lockedETag)
final void setNonExceptionedRetryableFailure(final boolean nonExceptionedRetryableFailure)
void setOffset(Long offset)
void setRequestLocationMode()

用于将位置模式应用于请求的函数。

void setRequestLocationMode(RequestLocationMode requestLocationMode)
final void setRequestOptions(final RequestOptions requestOptions)
final void setResult(final RequestResult result)
void setSendStream(InputStream sendStream)
void setStorageUri(StorageUri storageUri)
final String signBlobQueueAndFileRequest(HttpURLConnection request, ServiceClient client, long contentLength, OperationContext context)
abstract void signRequest(HttpURLConnection connection, C client, OperationContext context)

对标头进行签名的函数。

final void signTableRequest(HttpURLConnection request, ServiceClient client, long contentLength, OperationContext context)
void validateLocation()
void validateStreamWrite(StreamMd5AndLength descriptor)

在提供长度时验证写入的流长度。

构造函数详细信息

StorageRequest

protected StorageRequest()

默认 Ctor。

StorageRequest

public StorageRequest(final RequestOptions options, StorageUri storageUri)

初始化 StorageRequest 类的新实例。

Parameters:

options - 要使用的 RequestOptions
storageUri

方法详细信息

applyLocationModeToRequest

public void applyLocationModeToRequest()

buildRequest

public abstract HttpURLConnection buildRequest(C client, P parentObject, OperationContext context)

用于构造请求的函数。

Parameters:

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

Returns:

为操作配置的 HttpURLConnection。

Throws:

Exception

getArePropertiesPopulated

public boolean getArePropertiesPopulated()

Returns:

arePropertiesPopulated 值

getConnection

public final HttpURLConnection getConnection()

Returns:

URL 连接

getContentMD5

public final String getContentMD5()

Returns:

ContentMD5

getCurrentDescriptor

protected StreamMd5AndLength getCurrentDescriptor()

Returns:

包含流长度和 MD5 哈希的当前描述符。

getCurrentLocation

public StorageLocation getCurrentLocation()

Returns:

请求将发送到的当前位置。

getCurrentRequestByteCount

public long getCurrentRequestByteCount()

Returns:

currentRequestByteCount

getETagLockCondition

public AccessCondition getETagLockCondition()

Returns:

锁定的 ETag 条件

getException

public final StorageException getException()

Returns:

异常

getLength

public Long getLength()

Returns:

流的长度(以字节为单位)

getLocationMode

public LocationMode getLocationMode()

Returns:

用于确定请求应发送到哪个位置的位置模式。

getLockedETag

public final String getLockedETag()

Returns:

锁定的 ETag

getOffset

public Long getOffset()

Returns:

从中开始读取的偏移量

getRequestLocationMode

public RequestLocationMode getRequestLocationMode()

Returns:

用于确定请求应发送到哪个位置的位置模式。

getRequestOptions

public final RequestOptions getRequestOptions()

Returns:

requestOptions

getResult

public final RequestResult getResult()

Returns:

结果

getSendStream

public final InputStream getSendStream()

Returns:

要发送到服务器的流

getStorageUri

public StorageUri getStorageUri()

Returns:

请求将发送到的 URI。

initialize

protected final void initialize(OperationContext opContext)

重置操作之间的操作状态标志。

Parameters:

opContext

initializeLocation

public void initializeLocation()

isNonExceptionedRetryableFailure

public final boolean isNonExceptionedRetryableFailure()

Returns:

nonExceptionedRetryableFailure

isSent

protected boolean isSent()

Returns:

isSent 值

materializeException

protected final StorageException materializeException(final OperationContext opContext)

如果设置了,则从操作返回保留的异常,否则返回已转换的异常。

Parameters:

opContext - 用于跟踪操作执行的对象

Returns:

要引发的异常。

parseErrorDetails

public StorageExtendedErrorInformation parseErrorDetails()

返回此请求的扩展错误信息。

Returns:

一个 StorageExtendedErrorInformation 对象,表示指定请求的错误详细信息。

postProcessResponse

public R postProcessResponse(HttpURLConnection connection, P parentObject, C client, OperationContext context, R storageObject)

后流检索函数。

Parameters:

connection - 为操作配置的 HttpURLConnection。
parentObject
client
context
storageObject - 预期结果类型的 对象。

Returns:

操作的预期结果。

Throws:

Exception

preProcessResponse

public abstract R preProcessResponse(P parentObject, C client, OperationContext context)

预流检索函数。

Parameters:

parentObject - 父对象,即 CloudBlobContainer for downloadAttributes 等。
client - 服务客户端。
context - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Returns:

一个预期结果类型的对象。

Throws:

Exception

recoveryAction

public void recoveryAction(OperationContext context)

重试的恢复操作。

Parameters:

context

Throws:

IOException

setArePropertiesPopulated

public void setArePropertiesPopulated(boolean arePropertiesPopulated)

Parameters:

arePropertiesPopulated - arePropertiesPopulated 值

setConnection

public final void setConnection(final HttpURLConnection connection)

Parameters:

connection - 要设置的连接

setContentMD5

public void setContentMD5(String contentMD5)

Parameters:

contentMD5 - contentMD5

setCurrentDescriptor

protected void setCurrentDescriptor(StreamMd5AndLength currentDescriptor)

Parameters:

currentDescriptor - 描述符值

setCurrentLocation

public void setCurrentLocation(StorageLocation currentLocation)

Parameters:

currentLocation - currentLocation 值

setCurrentRequestByteCount

public void setCurrentRequestByteCount(long currentRequestByteCount)

Parameters:

currentRequestByteCount - 要设置的 currentRequestByteCount

setETagLockCondition

public void setETagLockCondition(AccessCondition etagLockCondition)

Parameters:

etagLockCondition - 锁定的 ETag 条件

setException

protected final void setException(final StorageException exceptionReference)

Parameters:

exceptionReference - 要设置的异常

setHeaders

public void setHeaders(HttpURLConnection connection, P parentObject, OperationContext context)

用于设置自定义标头的函数。

Parameters:

connection - 为操作配置的 HttpURLConnection。
parentObject - 父对象,即 CloudBlobContainer for downloadAttributes 等。
context - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

setIsSent

protected void setIsSent(boolean isSent)

Parameters:

isSent - isSent 值

setLength

public void setLength(Long length)

Parameters:

length - 流的长度(以字节为单位)

setLocationMode

public void setLocationMode(LocationMode locationMode)

Parameters:

locationMode - locationMode 值

setLockedETag

public void setLockedETag(String lockedETag)

Parameters:

lockedETag - 锁定的 ETag

setNonExceptionedRetryableFailure

public final void setNonExceptionedRetryableFailure(final boolean nonExceptionedRetryableFailure)

Parameters:

nonExceptionedRetryableFailure - 要设置的 nonExceptionedRetryableFailure

setOffset

public void setOffset(Long offset)

Parameters:

offset - 要从其开始复制的流偏移量

setRequestLocationMode

public void setRequestLocationMode()

用于将位置模式应用于请求的函数。

setRequestLocationMode

public void setRequestLocationMode(RequestLocationMode requestLocationMode)

Parameters:

requestLocationMode - requestLocationMode 值

setRequestOptions

protected final void setRequestOptions(final RequestOptions requestOptions)

Parameters:

requestOptions - 要设置的 requestOptions

setResult

public final void setResult(final RequestResult result)

Parameters:

result - 要设置的结果

setSendStream

public void setSendStream(InputStream sendStream)

Parameters:

sendStream - 要发送到服务器的流

setStorageUri

public void setStorageUri(StorageUri storageUri)

Parameters:

storageUri - storageUri 值

signBlobQueueAndFileRequest

public static final String signBlobQueueAndFileRequest(HttpURLConnection request, ServiceClient client, long contentLength, OperationContext context)

Parameters:

request
client
contentLength
context

signRequest

public abstract void signRequest(HttpURLConnection connection, C client, OperationContext context)

对标头进行签名的函数。

Parameters:

connection - 为操作配置的 HttpURLConnection。
client - 服务客户端。
context - 一个 OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。

Throws:

Exception

signTableRequest

public static final void signTableRequest(HttpURLConnection request, ServiceClient client, long contentLength, OperationContext context)

Parameters:

request
client
contentLength
context

validateLocation

public void validateLocation()

validateStreamWrite

public void validateStreamWrite(StreamMd5AndLength descriptor)

在提供长度时验证写入的流长度。

Parameters:

descriptor

Throws:

StorageException

适用于