2017-05-08 3 views
1

블롭 저장소에 30000 개의 이미지가 있고 수정 된 날짜의 내림차순으로 이미지를 가져 오려고합니다. 통화 당 1000 개의 이미지 덩어리로 가져올 수있는 방법이 있습니까?ListBlobs()를 LastModifiedDate별로 정렬 하시겠습니까?

여기 내 코드가 있지만 너무 많은 시간이 걸립니다. 기본적으로 LastUpdated 날짜까지 ListBlobs()을 (를) 정렬 할 수 있습니까?

CloudBlobContainer rootContainer = blobClient.GetContainerReference("installations"); 
CloudBlobDirectory dir1; 
var items = rootContainer.ListBlobs(id + "/Cameras/" + camId.ToString() + "/", false); 

foreach (var blob in items.OfType<CloudBlob>() 
    .OrderByDescending(b => b.Properties.LastModified).Skip(1000).Take(500)) 
{ 

} 

답변

1

기본적으로 내가 LastUpdated 날짜별로 ListBlobs()를 정렬 할 수 있습니다?

아니요, 서버 측 정렬을 LastUpdated에서 수행 할 수 없습니다. BLOB 저장소 서비스는 BLOB 이름별로 정렬 된 데이터를 반환합니다. 클라이언트에서 전체 데이터를 가져와 거기에서 정렬해야합니다.

다른 대안은 blob의 정보 (blob의 URL, 마지막으로 수정 한 날짜 등)를 SQL 데이터베이스에 저장하고 거기에서 목록을 가져 오는 것입니다. 여기서 원하는 방식으로 데이터를 정렬 할 수 있습니다.