我有一个层次结构的blob容器,大约有12k个blob。
- 级别1
--level21
--level211
--level212
--level22
所以目前我有两个问题
我看不到ListBlobs,即使它出现在很多文章中。我知道它很奇怪。但编译器没有通过。 https://i.stack.imgur.com/bVnrC.jpg 我使用的是c#.netcore 1.1和WindowsAzure.Storage 8.0,因此它不应该是版本问题。
所以我使用的是ListBlobsSegmentedAsync,例如,level21下有80个子文件夹,但是这个方法只返回10个子文件夹。 await blobs.ListBlobsSegmentedAsync(false,BlobListingDetails.None,20000,null,null,null);
答案 0 :(得分:0)
实际上是包版本问题。对于.Net Core,WindowsAzure.Storage 8.0没有方法ListBlobs
。将软件包更新到最新版本(9.1.1),然后你会看到它。
对于ListBlobsSegmentedAsync
,我无法在我身边重现你的问题。您设置为20000的最大值,设计限制为5000,您可以尝试更改它,但在我看来它并不重要。如果您必须使用此方法,则可以向我们显示有关您的代码的更多详细信息。
答案 1 :(得分:0)
预计ListBlobsSegmentedAsync会返回部分blob,因为它正是该方法正在做的事情(以分段方式列出blob,不能保证在一次调用中返回所有结果)。
您可以参考this blog post了解如何使用延续令牌获取所有结果。