我的容器中有以下名称的blob列表
例如。 ITEM1 ITEM2 项目3 item9 item10 item12 item45
我想得到第一个和最后一个blob,在本例中是item1和item45
然而,当我使用cloudblobclient.cloudblobdirectory.listblobs.last时,item9被归还给我,而不是我想要的。从列表中获取最后一项(45)的最佳方法是什么。
只能考虑遍历完整列表,然后对于每个项目,获取字符“item”之后的数字,并将该数字与之前的高或低进行比较。由于前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感兴趣。谢谢!
答案 0 :(得分:1)
我认为有以下几种方法可以实现这个目标:
获取容器中存在的所有blob的列表,然后获取所需的文件管理器blob。
列出容器中存在的blob时使用blob前缀。因此,如果您对第一个和最后一个blob名称有所了解,那么您可以在blob前缀中使用它,这将返回匹配指定blob前缀的blob列表。
希望这有帮助。
此致 阿米特耆那教 www.cerebrata.com