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

List Blobs in Azure Storage Container including Metadata

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

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

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

{
    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。

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

示例

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