У меня есть BlockBlob
изображение с несколькими атрибутами метаданных. Некоторые атрибуты метаданных являются уникальными. Другие начинаются с ключевого идентификатора (в данном случае «Tag»).
Как получить все значения свойств метаданных, начиная со строки c?
Вот пример a BlockBlob
image:
Существует несколько элементов «Tag», начинающихся с индекса 0.
Вот ручной способ сделать это, но вам нужно знать каждый существующий индекс:
CloudBlobContainer container = await GetCloudBlobClientAsync();
CloudBlobDirectory directory = container.GetDirectoryReference(path);
// Get max of 100 blobs including their metadata properties
var blobs = await directory.ListBlobsSegmentedAsync(false, BlobListingDetails.Metadata, 100, null, null, null);
foreach (var blob in blobs.Results) {
var imageBlob = new CloudBlockBlob(blob.Uri);
var blockBlob = imageBlob.GetBlockBlobReference(imageBlob.Name);
await blockBlob.DownloadTextAsync();
// This is what I'm trying to do..
var tagArray = [ blockBlob.Metadata["Tag0"], blockBlob.Metadata["Tag1"], ... ]
// Returns ["outdoor", "nature", "man" ...]
// Bonus if it included the key names as well..
var tagArrayWithKeys = [ "Tag0": blockBlob.Metadata["Tag0"], ... ];
// Returns [ "Tag0": "outdoor", "Tag1": "nature", "Tag2": "man", ...]
}
Как бы вы сделали это динамически?