获取容器中的最后一个 Azure Blob

发布于 2024-10-30 19:31:19 字数 676 浏览 5 评论 0原文

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

例如。 项目1 项目2 项目3 项目9 项目10 第12项 item45

我想获取第一个和最后一个 blob,在本例中是 item1 和 item45

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

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

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

因此最后一个 blob (item45):

strHighestCntFileName = "item" + iHigherCnt

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

I have a list of blobs with the following names in my container

eg.
item1
item2
item3
item9
item10
item12
item45

I want to get the first and last blob, which in this case is item1 and item45

However when i use cloudblobclient.cloudblobdirectory.listblobs.last, item9 was returned to me, not what I wanted. What would be the best way to get the last item (45) from the list.

Can only think of running through the full list, then for each item, get the number after the characters "item" and compare that number to previous high or low. Since the first 4 characters are fixed, I will combine the "item" and higherCnt:

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

thus the blob that was the last (item45):

strHighestCntFileName = "item" + iHigherCnt

Is there an alternate way to do this? Worries about performance when the item list grows to thousands. I am only interested in the first and last blob. Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挖鼻大婶 2024-11-06 19:31:19

我认为您可以通过以下方式实现此目的:

  • 获取容器中存在的所有 blob 的列表,然后获取所需的 filer blob。

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

希望这有帮助。

问候,
阿米特·贾恩
www.cerebrata.com

I think there are following ways you can achieve this thing:

  • Get the list of all blob existing in container and then filer blob which you want.

  • Use blob prefix when listing blobs existing in container. So if you have an idea of 1st and last blob name then you can use it in blob prefix, which will return you the list of blobs matching specified blob prefix.

Hope this helps.

Regards,
Amit jain
www.cerebrata.com

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文