列出 Azure 存储容器中的 Blob,包括元数据

Posted

技术标签:

【中文标题】列出 Azure 存储容器中的 Blob,包括元数据【英文标题】:List Blobs in Azure Storage Container including Metadata 【发布时间】:2022-01-05 08:47:06 【问题描述】:

我正在容器中创建Blobs 列表并遍历它们。 然而,每个 Blob 的 Metadata 字典仍然是空的。我知道我需要填充/获取它们。

BlobContainerClient.GetProperties 方法可以获取元数据,但本身没有 blob。

如何获取填充了元数据的 Blob 列表,以便遍历 Blob、获取其名称、属性以及通过 Key 获取 Metadata


    string BlobPrefix = "prefix";
    BlobContainerClient containerClient = new BlobContainerClient("connectionstring", "docrepo");
    var blobList = containerClient.GetBlobs(prefix: BlobPrefix);

    foreach (var blob in blobList)
    
        Console.Writeline(blob.Name);
        Console.Writeline(blob.Properties.CreatedOn.Value.UtcDateTime);
        Console.Writeline(blob.Metadata.Item("KeyName"));
    

使用 .NET v12 SDK。

【问题讨论】:

【参考方案1】:

您可以将特征参数传递为BlobTraits.Metadata,这意味着应该包含 blob 的元数据。

例子

var blobList = containerClient.GetBlobs(BlobTraits.Metadata, BlobStates.All, BlobPrefix);

【讨论】:

以上是关于列出 Azure 存储容器中的 Blob,包括元数据的主要内容,如果未能解决你的问题,请参考以下文章

通过带有 SAS 令牌的 Power Shell 列出 Azure Blob 容器中文件夹中的文件

如何从 Azure 容器中的 blob 中获取所有 URL 的列表?

列出并恢复软删除的 blob - azure python

获取 Azure 存储容器中的 blob 计数

使用 bash、curl 访问 Azure blob 存储

对 Azure 存储的只写访问(不读取、不列出、不删除)