Azure Blob: как разделить изображения и видео - PullRequest
0 голосов
/ 30 августа 2018

Я использую ListBlobsSegmentedAsync в своем коде C #, чтобы перечислить все BLOB-объекты. Есть ли способ отделить изображения и видео от ответа ListBlobsSegmentedAsync?

1 Ответ

0 голосов
/ 30 августа 2018

Вот пример из этой ссылки . Вы должны быть в состоянии оптимизировать код для выполнения yield return, который будет возвращать результаты итеративно и не оставлять ваш вызывающий код в ожидании всех результатов, которые будут возвращены.

public static String WildCardToRegular(String value)
{
   return "^" + Regex.Escape(value).Replace("\\*", ".*") + "$";
}

Затем, используя его с ListBlobsSegmentedAsync:

var blobList = await container.ListBlobsSegmentedAsync(blobFilePath, true, BlobListingDetails.None, 1000, token, null, null);
var items = blobList.Results.Select(x => x as CloudBlockBlob);

// Filter items by search pattern, if specify
if (!string.IsNullOrEmpty(searchPattern))
{
    items = items.Select(i =>
    {
        var filename = Path.GetFileName(i.Name);
        if (Regex.IsMatch(filename, WildCardToRegular(searchPattern), RegexOptions.IgnoreCase))
        {
            return i;
        }
    return null;
    }).ToList();
}
...