//------------------------------------------------- // Read pages from a page blob //------------------------------------------------- private static void ReadFromPageBlob(PageBlobClient pageBlobClient, long bufferOffset, long rangeSize) { // <Snippet_ReadFromPageBlob> var pageBlob = pageBlobClient.Download(new HttpRange(bufferOffset, rangeSize)); // </Snippet_ReadFromPageBlob> }
//------------------------------------------------- // Read valid page regions from a page blob //------------------------------------------------- private static void ReadValidPageRegionsFromPageBlob(PageBlobClient pageBlobClient, long bufferOffset, long rangeSize) { // <Snippet_ReadValidPageRegionsFromPageBlob> IEnumerable <HttpRange> pageRanges = pageBlobClient.GetPageRanges().Value.PageRanges; foreach (var range in pageRanges) { var pageBlob = pageBlobClient.Download(range); } // </Snippet_ReadValidPageRegionsFromPageBlob> }
public override byte ReadByte() { if (_blobLength == 0) { return(0); } if (_currPage == null || _prevPageOffset != GetCurrentPageOffset()) { // download and cache the current page. _currPage ??= new byte[512]; var range = new HttpRange(_currPageOffset, 512); BlobDownloadInfo download = _pageBlobClient.Download(range); download.Content.Read(_currPage, 0, 512); } var pos = _currPagePosition - _currPageOffset; var b = _currPage[pos]; _currPagePosition += 1; return(b); }