0

我的容器中有一个具有以下名称的 blob 列表

例如。项目1 项目2 项目3 项目9 项目10 项目12 项目45

我想得到第一个和最后一个 blob,在这种情况下是 item1 和 item45

但是,当我使用 cloudblobclient.cloudblobdirectory.listblobs.last 时,item9 被退回给我,而不是我想要的。从列表中获取最后一项(45)的最佳方法是什么。

只能想到遍历完整列表,然后对于每个项目,获取字符“项目”之后的数字,并将该数字与之前的高位或低位进行比较。由于前4个字符是固定的,我将结合“item”和higherCnt:

for each blobitem in listblobs
  iCurrCnt = numeric(blobitem.uri.absolutepath.substring(4)) 
  if iCurrCnt > iHigherCnt then
  iHigherCnt = iCurrCnt 

因此最后的 blob(item45):

strHighestCntFileName = "item" + iHigherCnt

有没有其他方法可以做到这一点?当项目列表增长到数千时,担心性能。我只对第一个和最后一个 blob 感兴趣。谢谢!

4

1 回答 1

1

我认为有以下方法可以实现这一目标:

  • 获取容器中存在的所有 blob 的列表,然后获取所需的文件管理器 blob。

  • 列出容器中存在的 blob 时使用 blob 前缀。因此,如果您知道第一个和最后一个 blob 名称,那么您可以在 blob 前缀中使用它,这将返回与指定 blob 前缀匹配的 blob 列表。

希望这可以帮助。

问候, Amit jain www.cerebrata.com

于 2011-04-08T06:00:30.350 回答