locked
listBlobsSegmentedWithPrefix in node.js returns 0 blobs although many blobs exist in the container RRS feed

  • Question

  • Hi, I am using Azure storage API for Node.js (version 0.10.3) to list and download blobs.

    I have a lot of blobs in my container. I list them using listBlobsSegmentedWithPrefix 

    Many times, this action returns an empty list, though blobs exist in the container. Sometimes, calling the same action again returns a full list of 1000 blobs.

    Is there an explanation o this behavior? Is there anything I can do to prevent it? 

    Wednesday, October 8, 2014 11:27 AM

Answers

  • Hi,

    Deleting blobs actually wont delete the blob for your container immediately. The actual deletion takes places during the Garbage-collection cycle. Hence, it might be possible that deleted blobs are considered in the list operation if the operation is performed soon after deleting the blob.

    Regards,

    Manu Rekhar

    • Marked as answer by ilobelo Monday, October 20, 2014 7:14 AM
    Monday, October 20, 2014 6:22 AM

All replies

  • Hi,

    From your description, you get different results when call listBlobsSegmentedWithPrefix funtion, and all these return results are not the same as expect, please check the parameters of listBlobsSegmentedWithPrefix function to find out whether there is different in every invoke, please have a look at Microsoft Azure Blob Service from article below to see the detailed information about listBlobsSegmentedWithPrefix .

    #http://dl.windowsazure.com/nodestoragedocs/BlobService.html

    Best Regards,

    Jambor


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Thursday, October 9, 2014 5:56 AM
  • thank you for the answer but I think my question was unclear, I use the same parameters in each invoke. This problem only appears when the prefix folder contains millions of files - listBlobs returns 0 files in the response.

    Also, when I get 0 results, I do get a continuation token which is not null - meaning there are more blobs under this prefix.

    • Edited by ilobelo Thursday, October 9, 2014 11:10 AM
    Thursday, October 9, 2014 10:35 AM
  • UPDATE

    I have been looking at the continuation tokens in the case where I get 0 results and I saw that the tokens point to blobs that no longer exist in the container. What I didn't mentions in my primary post is that I iterate over the blobs using list operation, and delete them after (and then query for more blobs).

    So now the question is if it possible that "deleted" blobs are considered in the 'list' operation?

    Thanks!

    Thursday, October 9, 2014 3:53 PM
  • Hi,

    Deleting blobs actually wont delete the blob for your container immediately. The actual deletion takes places during the Garbage-collection cycle. Hence, it might be possible that deleted blobs are considered in the list operation if the operation is performed soon after deleting the blob.

    Regards,

    Manu Rekhar

    • Marked as answer by ilobelo Monday, October 20, 2014 7:14 AM
    Monday, October 20, 2014 6:22 AM