gpt4 book ai didi

c# - 获取 Azure Blob 存储中的最后一个 Blob

转载 作者:太空宇宙 更新时间:2023-11-03 20:18:46 24 4
gpt4 key购买 nike

我需要知道如何检索 Blob 存储中最后创建的 Blob。现在我使用 for 循环来执行此操作,但目录中大约有 50000 个 block blob。

如何有效地获取最后创建的 block blob?

我的代码如下:

string url = null;
foreach (var blobItem in subdir.ListBlobs())
{
url = blobItem.Uri.ToString();
}
url += signature;
if (url != pictureBoxLiveViewer.ImageLocation)
{
pictureBoxLiveViewer.ImageLocation = url;
}

这是每分钟滴答作响的计时器中的一个函数。所以这是低效的。

最佳答案

Blob 存储不支持查询功能,因此您需要自行实现。一个明显的选择是您当前执行此操作的方式,即列出 blob 并查找该列表中的最后一个 blob。

[大声思考]

您可以做的一件事是按时间倒序命名 blob(类似于表中的 PartitionKey 的方法)。所以你可以做的是使用这个逻辑命名你的 blob

var blobName = DateTime.MaxValue - DateTime.UtcNow

这样,当您列出 Blob 时,您将始终首先获得最新的 Blob。

另一种替代方法是将 blob 名称、创建日期和 blob URI 保存在表存储中。同样,您可能希望对 PartitionKey 使用与上面相同的逻辑。然后,您将查询表存储,从表中获取第一条记录,这将是您最近创建的 blob。

关于c# - 获取 Azure Blob 存储中的最后一个 Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14981788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com