Package com.azure.storage.blob.batch
Class BlobBatch
java.lang.Object
com.azure.storage.blob.batch.BlobBatch
This class allows for batching of multiple Azure Storage operations in a single request via
BlobBatchClient.submitBatch(BlobBatch) or BlobBatchAsyncClient.submitBatch(BlobBatch).
Azure Storage Blob batches are homogeneous which means a delete and set tier are not allowed to be in the same batch.
try {
Response<Void> deleteResponse = batch.deleteBlob("{url of blob}");
Response<Void> setTierResponse = batch.setBlobAccessTier("{url of another blob}", AccessTier.HOT);
} catch (UnsupportedOperationException ex) {
System.err.printf("This will fail as Azure Storage Blob batch operations are homogeneous. Exception: %s%n",
ex.getMessage());
}
Please refer to the Azure Docs for more information.
-
Method Summary
Modifier and TypeMethodDescriptioncom.azure.core.http.rest.Response<Void> deleteBlob(String blobUrl) Adds a delete blob operation to the batch.com.azure.core.http.rest.Response<Void> deleteBlob(String blobUrl, DeleteSnapshotsOptionType deleteOptions, BlobRequestConditions blobRequestConditions) Adds a delete blob operation to the batch.com.azure.core.http.rest.Response<Void> deleteBlob(String containerName, String blobName) Adds a delete blob operation to the batch.com.azure.core.http.rest.Response<Void> deleteBlob(String containerName, String blobName, DeleteSnapshotsOptionType deleteOptions, BlobRequestConditions blobRequestConditions) Adds a delete blob operation to the batch.com.azure.core.http.rest.Response<Void> Adds a set tier operation to the batch.com.azure.core.http.rest.Response<Void> setBlobAccessTier(String blobUrl, AccessTier accessTier) Adds a set tier operation to the batch.com.azure.core.http.rest.Response<Void> setBlobAccessTier(String blobUrl, AccessTier accessTier, String leaseId) Adds a set tier operation to the batch.com.azure.core.http.rest.Response<Void> setBlobAccessTier(String containerName, String blobName, AccessTier accessTier) Adds a set tier operation to the batch.com.azure.core.http.rest.Response<Void> setBlobAccessTier(String containerName, String blobName, AccessTier accessTier, String leaseId) Adds a set tier operation to the batch.
-
Method Details
-
deleteBlob
Adds a delete blob operation to the batch.Code sample
Response<Void> deleteResponse = batch.deleteBlob("{container name}", "{blob name}");- Parameters:
containerName- The container of the blob.blobName- The name of the blob.- Returns:
- a
Responsethat will be used to associate this operation to the response when the batch is submitted. - Throws:
UnsupportedOperationException- If this batch has already added an operation of another type.
-
deleteBlob
public com.azure.core.http.rest.Response<Void> deleteBlob(String containerName, String blobName, DeleteSnapshotsOptionType deleteOptions, BlobRequestConditions blobRequestConditions) Adds a delete blob operation to the batch.Code sample
BlobRequestConditions blobRequestConditions = new BlobRequestConditions().setLeaseId("{lease ID}"); Response<Void> deleteResponse = batch.deleteBlob("{container name}", "{blob name}", DeleteSnapshotsOptionType.INCLUDE, blobRequestConditions);- Parameters:
containerName- The container of the blob.blobName- The name of the blob.deleteOptions- Delete options for the blob and its snapshots.blobRequestConditions- Additional access conditions that must be met to allow this operation.- Returns:
- a
Responsethat will be used to associate this operation to the response when the batch is submitted. - Throws:
UnsupportedOperationException- If this batch has already added an operation of another type.
-
deleteBlob
Adds a delete blob operation to the batch.Code sample
Response<Void> deleteResponse = batch.deleteBlob("{url of blob}");- Parameters:
blobUrl- URL of the blob. Blob name must be encoded to UTF-8.- Returns:
- a
Responsethat will be used to associate this operation to the response when the batch is submitted. - Throws:
UnsupportedOperationException- If this batch has already added an operation of another type.
-
deleteBlob
public com.azure.core.http.rest.Response<Void> deleteBlob(String blobUrl, DeleteSnapshotsOptionType deleteOptions, BlobRequestConditions blobRequestConditions) Adds a delete blob operation to the batch.Code sample
BlobRequestConditions blobRequestConditions = new BlobRequestConditions().setLeaseId("{lease ID}"); Response<Void> deleteResponse = batch.deleteBlob("{url of blob}", DeleteSnapshotsOptionType.INCLUDE, blobRequestConditions);- Parameters:
blobUrl- URL of the blob. Blob name must be encoded to UTF-8.deleteOptions- Delete options for the blob and its snapshots.blobRequestConditions- Additional access conditions that must be met to allow this operation.- Returns:
- a
Responsethat will be used to associate this operation to the response when the batch is submitted. - Throws:
UnsupportedOperationException- If this batch has already added an operation of another type.
-
setBlobAccessTier
public com.azure.core.http.rest.Response<Void> setBlobAccessTier(String containerName, String blobName, AccessTier accessTier) Adds a set tier operation to the batch.Code sample
Response<Void> setTierResponse = batch.setBlobAccessTier("{container name}", "{blob name}", AccessTier.HOT);- Parameters:
containerName- The container of the blob.blobName- The name of the blob.accessTier- The tier to set on the blob.- Returns:
- a
Responsethat will be used to associate this operation to the response when the batch is submitted. - Throws:
UnsupportedOperationException- If this batch has already added an operation of another type.
-
setBlobAccessTier
public com.azure.core.http.rest.Response<Void> setBlobAccessTier(String containerName, String blobName, AccessTier accessTier, String leaseId) Adds a set tier operation to the batch.Code sample
Response<Void> setTierResponse = batch.setBlobAccessTier("{container name}", "{blob name}", AccessTier.HOT, "{lease ID}");- Parameters:
containerName- The container of the blob.blobName- The name of the blob.accessTier- The tier to set on the blob.leaseId- The lease ID the active lease on the blob must match.- Returns:
- a
Responsethat will be used to associate this operation to the response when the batch is submitted. - Throws:
UnsupportedOperationException- If this batch has already added an operation of another type.
-
setBlobAccessTier
public com.azure.core.http.rest.Response<Void> setBlobAccessTier(String blobUrl, AccessTier accessTier) Adds a set tier operation to the batch.Code sample
Response<Void> setTierResponse = batch.setBlobAccessTier("{url of blob}", AccessTier.HOT);- Parameters:
blobUrl- URL of the blob. Blob name must be encoded to UTF-8.accessTier- The tier to set on the blob.- Returns:
- a
Responsethat will be used to associate this operation to the response when the batch is submitted. - Throws:
UnsupportedOperationException- If this batch has already added an operation of another type.
-
setBlobAccessTier
public com.azure.core.http.rest.Response<Void> setBlobAccessTier(String blobUrl, AccessTier accessTier, String leaseId) Adds a set tier operation to the batch.Code sample
Response<Void> setTierResponse = batch.setBlobAccessTier("{url of blob}", AccessTier.HOT, "{lease ID}");- Parameters:
blobUrl- URL of the blob. Blob name must be encoded to UTF-8.accessTier- The tier to set on the blob.leaseId- The lease ID the active lease on the blob must match.- Returns:
- a
Responsethat will be used to associate this operation to the response when the batch is submitted. - Throws:
UnsupportedOperationException- If this batch has already added an operation of another type.
-
setBlobAccessTier
public com.azure.core.http.rest.Response<Void> setBlobAccessTier(BlobBatchSetBlobAccessTierOptions options) Adds a set tier operation to the batch.Code sample
Response<Void> setTierResponse = batch.setBlobAccessTier( new BlobBatchSetBlobAccessTierOptions("{url of blob}", AccessTier.HOT).setLeaseId("{lease ID}"));- Parameters:
options-BlobBatchSetBlobAccessTierOptions- Returns:
- a
Responsethat will be used to associate this operation to the response when the batch is submitted. - Throws:
UnsupportedOperationException- If this batch has already added an operation of another type.
-