首页 > 解决方案 > 如何从我的 Azure 容器中的每个 blob 中检索元数据?

问题描述

我无法从我创建的 Azure 容器访问元数据。有 2 个具有 2 个值的键,第一个元数据是 {key: cellNumber value:12345678} 第二个是 {key: homeNumber value:098876543}。我正在尝试访问我的 blobs 容器的元数据部分中的信息,但没有给我任何信息。我尝试从此处链接获取属性,但遵循这些步骤仍然没有为我提供任何价值或密钥。

 var blobServiceClient = new BlobServiceClient(System.Environment.GetEnvironmentVariable("BlobConnection"));

        var containerClient = blobServiceClient.GetBlobContainerClient("myContainer");

        var blobs = containerClient.GetBlobs(prefix: "myFile.txt");

        foreach (var item in blobs)
        {
            //This prints nothing and the count = to zero
            Console.WriteLine(item.Metadata.Key);
             if(item.Metadata.Key == "cellPhone" {
              //Here goes some logic for my code
             }


        }

标签: c#azureazure-cognitive-services

解决方案


要获取元数据,请更改以下代码行:

var blobs = containerClient.GetBlobs(prefix: "myFile.txt");

var blobs = containerClient.GetBlobs(prefix: "myFile.txt", traits: BlobTraits.Metadata);

那么您应该会看到为 blob 填充的元数据。您可以在此处了解有关 BlobTraits 的更多信息:https ://docs.microsoft.com/en-us/dotnet/api/azure.storage.blobs.models.blobtraits?view=azure-dotnet 。


推荐阅读