BlobClient Class
- java.
lang. Object - com.
azure. storage. blob. specialized. BlobClientBase - com.
azure. storage. blob. BlobClient
- com.
- com.
public class BlobClient
extends BlobClientBase
This class provides a client that contains generic blob operations for Azure Storage Blobs. Operations allowed by the client are uploading and downloading, copying a blob, retrieving and setting metadata, retrieving and setting HTTP headers, and deleting and un-deleting a blob.
This client is instantiated through BlobClientBuilder or retrieved via getBlobClient(String blobName).
For operations on a specific blob type (i.e append, block, or page) use getAppendBlobClient(), getBlockBlobClient(), or getPageBlobClient() to construct a client that allows blob specific operations.
Please refer to the Azure Docs for more information.
Field Summary
Modifier and Type | Field and Description |
---|---|
static final int |
BLOB_DEFAULT_HTBB_UPLOAD_BLOCK_SIZE
If a blob is known to be greater than 100MB, using a larger block size will trigger some server-side optimizations. |
static final int |
BLOB_DEFAULT_NUMBER_OF_BUFFERS
The number of buffers to use if none is specied on the buffered upload method. |
static final int |
BLOB_DEFAULT_UPLOAD_BLOCK_SIZE
The block size to use if none is specified in parallel operations. |
Constructor Summary
Modifier | Constructor | Description |
---|---|---|
protected | BlobClient(BlobAsyncClient client) |
Protected constructor for use by BlobClientBuilder. |
Method Summary
Methods inherited from BlobClientBase
Methods inherited from java.lang.Object
Field Details
BLOB_DEFAULT_HTBB_UPLOAD_BLOCK_SIZE
public static final int BLOB_DEFAULT_HTBB_UPLOAD_BLOCK_SIZE
If a blob is known to be greater than 100MB, using a larger block size will trigger some server-side optimizations. If the block size is not set and the size of the blob is known to be greater than 100MB, this value will be used.
BLOB_DEFAULT_NUMBER_OF_BUFFERS
public static final int BLOB_DEFAULT_NUMBER_OF_BUFFERS
The number of buffers to use if none is specied on the buffered upload method.
BLOB_DEFAULT_UPLOAD_BLOCK_SIZE
public static final int BLOB_DEFAULT_UPLOAD_BLOCK_SIZE
The block size to use if none is specified in parallel operations.
Constructor Details
BlobClient
protected BlobClient(BlobAsyncClient client)
Protected constructor for use by BlobClientBuilder.
Parameters:
Method Details
getAppendBlobClient
public AppendBlobClient getAppendBlobClient()
Creates a new AppendBlobClient associated with this blob.
Returns:
getBlockBlobClient
public BlockBlobClient getBlockBlobClient()
Creates a new BlockBlobClient associated with this blob.
Returns:
getCustomerProvidedKeyClient
public BlobClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)
Creates a new BlobClient with the specified customerProvidedKey
.
Overrides:
BlobClient.getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)Parameters:
null
to use no customer provided key.
Returns:
customerProvidedKey
.getEncryptionScopeClient
public BlobClient getEncryptionScopeClient(String encryptionScope)
Creates a new BlobClient with the specified encryptionScope
.
Overrides:
BlobClient.getEncryptionScopeClient(String encryptionScope)Parameters:
null
to use no encryption scope.
Returns:
encryptionScope
.getPageBlobClient
public PageBlobClient getPageBlobClient()
Creates a new PageBlobClient associated with this blob.
Returns:
getSnapshotClient
public BlobClient getSnapshotClient(String snapshot)
Creates a new BlobClient linked to the snapshot
of this blob resource.
Overrides:
BlobClient.getSnapshotClient(String snapshot)Parameters:
Returns:
getVersionClient
public BlobClient getVersionClient(String versionId)
Creates a new BlobClient linked to the version
of this blob resource.
Overrides:
BlobClient.getVersionClient(String versionId)Parameters:
null
to interact with the latest blob version.
Returns:
upload
public void upload(BinaryData data)
Creates a new blob. By default this method will not overwrite an existing blob.
Parameters:
upload
public void upload(BinaryData data, boolean overwrite)
Creates a new blob, or updates the content of an existing blob.
Parameters:
upload
public void upload(InputStream data)
Creates a new blob. By default this method will not overwrite an existing blob.
Parameters:
upload
public void upload(InputStream data, boolean overwrite)
Creates a new blob, or updates the content of an existing blob.
Parameters:
upload
public void upload(InputStream data, long length)
Creates a new blob. By default this method will not overwrite an existing blob.
Parameters:
upload
public void upload(InputStream data, long length, boolean overwrite)
Creates a new blob, or updates the content of an existing blob.
Parameters:
uploadFromFile
public void uploadFromFile(String filePath)
Creates a new block blob. By default this method will not overwrite an existing blob.
Code Samples
try {
client.uploadFromFile(filePath);
System.out.println("Upload from file succeeded");
} catch (UncheckedIOException ex) {
System.err.printf("Failed to upload from file %s%n", ex.getMessage());
}
Parameters:
uploadFromFile
public void uploadFromFile(String filePath, boolean overwrite)
Creates a new block blob, or updates the content of an existing block blob.
Code Samples
try {
boolean overwrite = false;
client.uploadFromFile(filePath, overwrite);
System.out.println("Upload from file succeeded");
} catch (UncheckedIOException ex) {
System.err.printf("Failed to upload from file %s%n", ex.getMessage());
}
Parameters:
uploadFromFile
public void uploadFromFile(String filePath, ParallelTransferOptions parallelTransferOptions, BlobHttpHeaders headers, Map
Creates a new block blob, or updates the content of an existing block blob.
To avoid overwriting, pass "*" to setIfNoneMatch(String ifNoneMatch).
Code Samples
BlobHttpHeaders headers = new BlobHttpHeaders()
.setContentMd5("data".getBytes(StandardCharsets.UTF_8))
.setContentLanguage("en-US")
.setContentType("binary");
Map<String, String> metadata = Collections.singletonMap("metadata", "value");
BlobRequestConditions requestConditions = new BlobRequestConditions()
.setLeaseId(leaseId)
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
Long blockSize = 100L * 1024L * 1024L; // 100 MB;
ParallelTransferOptions parallelTransferOptions = new ParallelTransferOptions().setBlockSizeLong(blockSize);
try {
client.uploadFromFile(filePath, parallelTransferOptions, headers, metadata,
AccessTier.HOT, requestConditions, timeout);
System.out.println("Upload from file succeeded");
} catch (UncheckedIOException ex) {
System.err.printf("Failed to upload from file %s%n", ex.getMessage());
}
Parameters:
uploadFromFileWithResponse
public Response
Creates a new block blob, or updates the content of an existing block blob.
To avoid overwriting, pass "*" to setIfNoneMatch(String ifNoneMatch).
Code Samples
BlobHttpHeaders headers = new BlobHttpHeaders()
.setContentMd5("data".getBytes(StandardCharsets.UTF_8))
.setContentLanguage("en-US")
.setContentType("binary");
Map<String, String> metadata = Collections.singletonMap("metadata", "value");
Map<String, String> tags = Collections.singletonMap("tag", "value");
BlobRequestConditions requestConditions = new BlobRequestConditions()
.setLeaseId(leaseId)
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
Long blockSize = 100 * 1024 * 1024L; // 100 MB;
ParallelTransferOptions parallelTransferOptions = new ParallelTransferOptions().setBlockSizeLong(blockSize);
try {
client.uploadFromFileWithResponse(new BlobUploadFromFileOptions(filePath)
.setParallelTransferOptions(parallelTransferOptions).setHeaders(headers).setMetadata(metadata)
.setTags(tags).setTier(AccessTier.HOT).setRequestConditions(requestConditions), timeout,
new Context(key2, value2));
System.out.println("Upload from file succeeded");
} catch (UncheckedIOException ex) {
System.err.printf("Failed to upload from file %s%n", ex.getMessage());
}
Parameters:
Returns:
uploadWithResponse
@Deprecated
public Response
Deprecated
Creates a new blob, or updates the content of an existing blob.
To avoid overwriting, pass "*" to setIfNoneMatch(String ifNoneMatch).
Parameters:
Returns:
uploadWithResponse
public Response
Creates a new blob, or updates the content of an existing blob.
To avoid overwriting, pass "*" to setIfNoneMatch(String ifNoneMatch).
Parameters:
Returns:
uploadWithResponse
@Deprecated
public void uploadWithResponse(InputStream data, long length, ParallelTransferOptions parallelTransferOptions, BlobHttpHeaders headers, Map
Deprecated
Creates a new blob, or updates the content of an existing blob.
To avoid overwriting, pass "*" to setIfNoneMatch(String ifNoneMatch).
Parameters:
Applies to
Azure SDK for Java