public final class BlobRequestOptions extends RequestOptions
Constructor and Description |
---|
BlobRequestOptions()
Creates an instance of the
BlobRequestOptions class. |
BlobRequestOptions(BlobRequestOptions other)
Creates an instance of the
BlobRequestOptions class by copying values from another
BlobRequestOptions instance. |
Modifier and Type | Method and Description |
---|---|
protected static void |
applyDefaults(BlobRequestOptions modifiedOptions,
BlobType blobtype)
Applies defaults to the options passed in.
|
protected void |
assertNoEncryptionPolicyOrStrictMode()
Assert that if validation is on, an encryption policy is not specified.
|
protected void |
assertPolicyIfRequired()
Assert that if strict mode is on, an encryption policy is specified.
|
Boolean |
getAbsorbConditionalErrorsOnRetry()
Indicates whether a conditional failure should be absorbed on a retry attempt for the request.
|
Integer |
getConcurrentRequestCount()
Gets the concurrent number of simultaneous requests per operation.
|
Boolean |
getDisableContentMD5Validation()
Gets whether download and
BlobInputStream methods should ignore the blob's ContentMD5 header. |
BlobEncryptionPolicy |
getEncryptionPolicy()
Gets the encryption policy to use for this request.
|
Integer |
getSingleBlobPutThresholdInBytes()
Gets the threshold size used for writing a single blob.
|
Boolean |
getStoreBlobContentMD5()
Gets whether the blob's ContentMD5 header should be set on uploads.
|
Boolean |
getUseTransactionalContentMD5()
Gets whether a range PUT or GET operation will use the Content-MD5 header to enforce transactional security.
|
protected boolean |
getValidateEncryptionPolicy()
Gets a value to indicating whether the presence of the encryption policy should validated.
|
protected static BlobRequestOptions |
populateAndApplyDefaults(BlobRequestOptions options,
BlobType blobType,
CloudBlobClient client)
Uses the concurrent request count from the specified client if
null , sets a default value for
everything else, and sets defaults as defined in the parent class. |
protected static BlobRequestOptions |
populateAndApplyDefaults(BlobRequestOptions options,
BlobType blobType,
CloudBlobClient client,
boolean setStartTime)
Uses the concurrent request count from the specified client if
null , sets a default value for
everything else, and sets defaults as defined in the parent class. |
void |
setAbsorbConditionalErrorsOnRetry(Boolean absorbConditionalErrorsOnRetry)
Sets whether a conditional failure should be absorbed on a retry attempt for the request.
|
void |
setConcurrentRequestCount(Integer concurrentRequestCount)
Sets the concurrent number of simultaneous requests per operation.
|
void |
setDisableContentMD5Validation(Boolean disableContentMD5Validation)
Sets whether download and
BlobInputStream methods should ignore the blob's ContentMD5 header. |
void |
setEncryptionPolicy(BlobEncryptionPolicy encryptionPolicy)
Sets the BlobEncryptionPolicy object to use for this request.
|
void |
setSingleBlobPutThresholdInBytes(Integer singleBlobPutThresholdInBytes)
Sets the threshold size used for writing a single blob to use.
|
void |
setStoreBlobContentMD5(Boolean storeBlobContentMD5)
Sets whether the blob's ContentMD5 header should be set on uploads.
|
void |
setUseTransactionalContentMD5(Boolean useTransactionalContentMD5)
Sets whether a range PUT or GET operation will use the Content-MD5 header to enforce transactional security.
|
protected void |
setValidateEncryptionPolicy(boolean validateEncryptionPolicy)
Sets a value to indicate whether the presence of the encryption policy should validated.
|
applyBaseDefaultsInternal, getLocationMode, getMaximumExecutionTimeInMs, getOperationExpiryTimeInMs, getRetryPolicyFactory, getTimeoutIntervalInMs, populateRequestOptions, requireEncryption, setLocationMode, setMaximumExecutionTimeInMs, setRequireEncryption, setRetryPolicyFactory, setTimeoutIntervalInMs
public BlobRequestOptions()
BlobRequestOptions
class.public BlobRequestOptions(BlobRequestOptions other)
BlobRequestOptions
class by copying values from another
BlobRequestOptions
instance.other
- A BlobRequestOptions
object which represents the blob request options to copy.protected static final BlobRequestOptions populateAndApplyDefaults(BlobRequestOptions options, BlobType blobType, CloudBlobClient client)
null
, sets a default value for
everything else, and sets defaults as defined in the parent class.options
- The input options to copy from when applying defaultsblobType
- BlobType of the current operationclient
- A CloudBlobClient
object that represents the service client used to set the default timeout
interval and retry policy, if they are null
. Additionally, if the
concurrentRequestCount
field's value is null, it will be set to the value specified by the
cloud blob client's CloudBlobClient#getConcurrentRequestCount
method.protected static final BlobRequestOptions populateAndApplyDefaults(BlobRequestOptions options, BlobType blobType, CloudBlobClient client, boolean setStartTime)
null
, sets a default value for
everything else, and sets defaults as defined in the parent class.options
- The input options to copy from when applying defaultsblobType
- BlobType of the current operationclient
- A CloudBlobClient
object that represents the service client used to set the default timeout
interval and retry policy, if they are null
. Additionally, if the
concurrentRequestCount
field's value is null, it will be set to the value specified by the
cloud blob client's CloudBlobClient#getConcurrentRequestCount
method.setStartTime
- whether to initialize the startTimeInMs field, or notprotected static void applyDefaults(BlobRequestOptions modifiedOptions, BlobType blobtype)
modifiedOptions
- The options to apply defaults to.public Boolean getAbsorbConditionalErrorsOnRetry()
setAbsorbConditionalErrorsOnRetry(Boolean)
.public Integer getConcurrentRequestCount()
setConcurrentRequestCount(Integer)
.public Boolean getUseTransactionalContentMD5()
setUseTransactionalContentMD5(Boolean)
.public Boolean getStoreBlobContentMD5()
setStoreBlobContentMD5(Boolean)
.public Boolean getDisableContentMD5Validation()
BlobInputStream
methods should ignore the blob's ContentMD5 header. For more
information about disabling content MD5 validation defaults, see setDisableContentMD5Validation(Boolean)
.public Integer getSingleBlobPutThresholdInBytes()
setSingleBlobPutThresholdInBytes(Integer)
.public BlobEncryptionPolicy getEncryptionPolicy()
setEncryptionPolicy(BlobEncryptionPolicy)
.BlobEncryptionPolicy
object that represents the current encryption policy.protected boolean getValidateEncryptionPolicy()
true
if validation is required; otherwise, false
.public void setAbsorbConditionalErrorsOnRetry(Boolean absorbConditionalErrorsOnRetry)
CloudAppendBlob
in upload and openWrite methods. By default, it is set to
false
. Set this to true
only for single writer scenario.
You can change the absorbConditionalErrorsOnRetry value on this request by setting this property. You can also
change the value on the CloudBlobClient.getDefaultRequestOptions()
object so that all subsequent requests
made via the service client will use that absorbConditionalErrorsOnRetry value.
absorbConditionalErrorsOnRetry
- the absorbConditionalErrorsOnRetry to setpublic void setConcurrentRequestCount(Integer concurrentRequestCount)
The default concurrent request count is set in the client and is by default 1, indicating no concurrency. You can
change the concurrent request count on this request by setting this property. You can also change the value on
the CloudBlobClient.getDefaultRequestOptions()
object so that all subsequent requests made via the
service client will use that concurrent request count.
concurrentRequestCount
- the concurrentRequestCount to setpublic void setUseTransactionalContentMD5(Boolean useTransactionalContentMD5)
The default useTransactionalContentMD5 value is set in the client and is by default false
. You can
change the useTransactionalContentMD5 value on this request by setting this property. You can also change the
value on the CloudBlobClient.getDefaultRequestOptions()
object so that all subsequent requests made via
the service client will use that useTransactionalContentMD5 value.
useTransactionalContentMD5
- the useTransactionalContentMD5 to setpublic void setStoreBlobContentMD5(Boolean storeBlobContentMD5)
The default storeBlobContentMD5 value is set in the client and is by default true
for block blobs.
You can change the storeBlobContentMD5 value on this request by setting this property. You can also change the
value on the CloudBlobClient.getDefaultRequestOptions()
object so that all subsequent requests made via
the service client will use that storeBlobContentMD5 value.
storeBlobContentMD5
- the storeBlobContentMD5 to setpublic void setDisableContentMD5Validation(Boolean disableContentMD5Validation)
BlobInputStream
methods should ignore the blob's ContentMD5 header.
The default disableContentMD5Validation value is set in the client and is by default false
. You can
change the disableContentMD5Validation value on this request by setting this property. You can also change the
value on the CloudBlobClient.getDefaultRequestOptions()
object so that all subsequent requests made via
the service client will use that disableContentMD5Validation value.
disableContentMD5Validation
- the disableContentMD5Validation to setpublic void setSingleBlobPutThresholdInBytes(Integer singleBlobPutThresholdInBytes)
The default threshold size is set in the client and is by default 32MB. You can change the threshold size on this
request by setting this property. You can also change the value on the
CloudBlobClient.getDefaultRequestOptions()
object so that all subsequent requests made via the service
client will use that threshold size.
singleBlobPutThresholdInBytes
- The maximum size, in bytes, of a blob that may be uploaded as a single blob, ranging from 1 MB to 64
MB inclusive. If a blob size is above the threshold, it will be uploaded as blocks.IllegalArgumentException
- If minimumReadSize
is less than 1 MB or greater than 64 MB.public void setEncryptionPolicy(BlobEncryptionPolicy encryptionPolicy)
The default BlobEncryptionPolicy is set in the client and is by default null, indicating no encryption. You can
change the BlobEncryptionPolicy on this request by setting this property. You can also change the value on the
ServiceClient.getDefaultRequestOptions()
object so that all subsequent requests made via the service
client will use that BlobEncryptionPolicy.
encryptionPolicy
- the BlobEncryptionPolicy object to use when making service requests.protected void setValidateEncryptionPolicy(boolean validateEncryptionPolicy)
validateEncryptionPolicy
- Use true
to require validation; otherwise, false
.protected void assertNoEncryptionPolicyOrStrictMode()
protected void assertPolicyIfRequired()
Copyright © 2019. All rights reserved.