Checkout our demo site to practice selenium https://magento.softwaretestingboard.com/

0 like 0 dislike
1.6k views
by The go-to Tester (181 points)
edited by

I am using Java to test items present in the blob. I already have a list of files I am expecting to be present in the blob. Below is my maven dependency.

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-storage</artifactId>
    <version>1.2.0</version>
</dependency>

I am not getting proper reference/code sample to get properties of a particular file from the blob. The only way it has is to list all files and identify the file you need. That is very costly operation.

I am referring to below docs.

https://docs.microsoft.com/en-us/azure/storage/storage-java-how-to-use-blob-storage#download-a-blob

Please help me with a code sample, showing how to download a particular file

1 Answer

0 like 0 dislike
by The go-to Tester (181 points)

Ok, I got a method as given below to make it work. There is no straightforward implementation for this. You first have to navigate to the directory and retrieve the file with an exact name.

    /**
     * This method will help you retrieve properties of a file or a list of files from particular folder in Azure Blob storage
     * @param containerName - Pass the name of the container
     * @param path - Location of your file
     * @param fileName - You can pass complete file name to retrieve one file or you can pass prefix of the file.
     * @return It returns List<BlobProperties> if you pass complete file name, it will return one file or it will find file with supplied prefix.
     * @throws Exception
     */
 
    public List<BlobProperties> retriveBlobFilesProperties(String containerName, String path, String fileName) throws Exception{
        List<BlobProperties> blobFilesProperties = new ArrayList<BlobProperties>();
        CloudStorageAccount cloudStorageAccount = CloudStorageAccount.parse(this.storageConnectionString);
        CloudBlobClient cloudBlobClient = cloudStorageAccount.createCloudBlobClient();
        CloudBlobContainer cloudBlobContainer = cloudBlobClient.getContainerReference(containerName);
        CloudBlobDirectory directory = cloudBlobContainer.getDirectoryReference(path);
        Iterable<ListBlobItem> blobItems = directory.listBlobs(fileName);
        for(ListBlobItem item : blobItems){
            CloudBlob blob = (CloudBlob)item;
            blobFilesProperties.add(blob.getProperties());
        }
        return blobFilesProperties;
    }

 


This site is for software testing professionals, where you can ask all your questions and get answers from 1300+ masters of the profession. Click here to submit yours now!

...