Я создаю список Blobs в контейнере и просматриваю их. Однако каждый словарь Blob Metadata остается пустым. Я понимаю, что мне нужно их заполнить / получить.

Есть метод BlobContainerClient.GetProperties, который получает метаданные, но не сам по себе blobs.

Как я могу получить список 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.

0
Megrez7 28 Ноя 2021 в 00:26

1 ответ

Лучший ответ

Вы можете передать параметр traits как BlobTraits.Metadata, это означает, что метаданные большого двоичного объекта должны быть включены.

Примере

var blobList = containerClient.GetBlobs(BlobTraits.Metadata, BlobStates.All, BlobPrefix);
1
Mukul Keshari 28 Ноя 2021 в 01:56