I am trying to upload very large file into Azure Blob store. I am using Java with Azure SDK. I want to do this in following manner -
- Split the large file in smaller chunks.
- Upload all the chunks in parallel to Azure Blob Store.
I can do these tasks by writing the code to split and upload using multiple threads but I am looking for something provided by the SDK itself to do the above tasks. The examples or samples that I found where doing these steps explicitly. As of now, I am uploading using following code -
blob.upload(stream, stream.length());
Can someone please point me in the right direction?
UPDATE -
After inputs from @Gaurav Mantri, my updated code looks like
BlobRequestOptions blobRequestOptions = new BlobRequestOptions();
blobRequestOptions.setConcurrentRequestCount(8);
blobRequestOptions.setSingleBlobPutThresholdInBytes(65000000);
blob.upload(stream, stream.length(), null, blobRequestOptions ,null);
I am uploading file of size 3GB. Still I am not sure whether the file is getting split or not because there is no improvement in time taken for upload.