Только для чтения метаданных BLOB-объектов - PullRequest
0 голосов
/ 13 февраля 2019

Я читаю BLOB-объекты из хранилища BLOB-объектов Azure

CloudBlobContainer container = GetCloudBlobContainer();
List<Documents> blobs = new List<Documents>();

BlobContinuationToken continuationToken = null;
BlobResultSegment resultSegment = container.ListBlobsSegmentedAsync("", true, BlobListingDetails.All, 100, continuationToken, null, null).Result;
foreach (IListBlobItem item in resultSegment.Results)
{…}

Можно ли читать только метаданные (URL, созданные, ...) из BLOB-объекта, а не сам BLOB-объект?Так что можно безопасно трафик и иметь лучшую производительность.

Regard Stefan

1 Ответ

0 голосов
/ 14 февраля 2019

Да, это возможно.См. Следующий код:

            BlobContinuationToken continuationToken = null;
            var resultSegment=cloudBlobContainer.ListBlobsSegmentedAsync("", true, BlobListingDetails.All, 100, continuationToken, null, null).Result;
            foreach (IListBlobItem item in resultSegment.Results)
            {
                #need a type conversion here
                var temp = item as CloudBlockBlob;

                #this line of code is needed for fetch attribute and metadata.
                temp.FetchAttributes();
                Console.WriteLine("URL: {0}", temp.StorageUri.PrimaryUri.ToString());
                Console.WriteLine("Creation time: {0}", temp.Properties.Created.ToString());
            }

Результат теста:

enter image description here

Кстати, (Url, created, … ), который вы упомянули, является свойствами BLOB-объектов,Если вы хотите получить метаданные BLOB-объекта, вам следует перейти по этой ссылке и убедиться, что вы уже установили метаданные.

...