<PackageReference Include="Azure.Storage.Blobs" Version="12.28.0" />

Azure.Storage.Blobs.Specialized.PageBlobClient

The PageBlobClient allows you to manipulate Azure Storage page blobs. Page blobs are a collection of 512-byte pages optimized for random read and write operations. To create a page blob, you initialize the page blob and specify the maximum size the page blob will grow. To add or update the contents of a page blob, you write a page or pages by specifying an offset and a range that align to 512-byte page boundaries. A write to a page blob can overwrite just one page, some pages, or up to 4 MB of the page blob. Writes to page blobs happen in-place and are immediately committed to the blob. The maximum size for a page blob is 8 TB.
namespace Azure.Storage.Blobs.Specialized { public class PageBlobClient : BlobBaseClient { public virtual int PageBlobPageBytes { get; } public virtual int PageBlobMaxUploadPagesBytes { get; } protected PageBlobClient(); public PageBlobClient(string connectionString, string blobContainerName, string blobName); public PageBlobClient(string connectionString, string blobContainerName, string blobName, BlobClientOptions options); public PageBlobClient(Uri blobUri, BlobClientOptions options = null); public PageBlobClient(Uri blobUri, StorageSharedKeyCredential credential, BlobClientOptions options = null); public PageBlobClient(Uri blobUri, AzureSasCredential credential, BlobClientOptions options = null); public PageBlobClient(Uri blobUri, TokenCredential credential, BlobClientOptions options = null); public new PageBlobClient WithSnapshot(string snapshot); public new PageBlobClient WithVersion(string versionId); public new PageBlobClient WithCustomerProvidedKey(CustomerProvidedKey? customerProvidedKey); public new PageBlobClient WithEncryptionScope(string encryptionScope); public virtual Response<BlobContentInfo> Create(long size, PageBlobCreateOptions options, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<Response<BlobContentInfo>> CreateAsync(long size, PageBlobCreateOptions options, CancellationToken cancellationToken = default(CancellationToken)); public virtual Response<BlobContentInfo> Create(long size, long? sequenceNumber = default(long?), BlobHttpHeaders httpHeaders = null, IDictionary<string, string> metadata = null, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<Response<BlobContentInfo>> CreateAsync(long size, long? sequenceNumber = default(long?), BlobHttpHeaders httpHeaders = null, IDictionary<string, string> metadata = null, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Response<BlobContentInfo> CreateIfNotExists(long size, PageBlobCreateOptions options, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<Response<BlobContentInfo>> CreateIfNotExistsAsync(long size, PageBlobCreateOptions options, CancellationToken cancellationToken = default(CancellationToken)); public virtual Response<BlobContentInfo> CreateIfNotExists(long size, long? sequenceNumber = default(long?), BlobHttpHeaders httpHeaders = null, IDictionary<string, string> metadata = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<Response<BlobContentInfo>> CreateIfNotExistsAsync(long size, long? sequenceNumber = default(long?), BlobHttpHeaders httpHeaders = null, IDictionary<string, string> metadata = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Response<PageInfo> UploadPages(Stream content, long offset, byte[] transactionalContentHash, PageBlobRequestConditions conditions, IProgress<long> progressHandler, CancellationToken cancellationToken); public virtual Task<Response<PageInfo>> UploadPagesAsync(Stream content, long offset, byte[] transactionalContentHash, PageBlobRequestConditions conditions, IProgress<long> progressHandler, CancellationToken cancellationToken); public virtual Response<PageInfo> UploadPages(Stream content, long offset, PageBlobUploadPagesOptions options = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<Response<PageInfo>> UploadPagesAsync(Stream content, long offset, PageBlobUploadPagesOptions options = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Response<PageInfo> ClearPages(HttpRange range, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<Response<PageInfo>> ClearPagesAsync(HttpRange range, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Pageable<PageRangeItem> GetAllPageRanges(GetPageRangesOptions options = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual AsyncPageable<PageRangeItem> GetAllPageRangesAsync(GetPageRangesOptions options = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Response<PageRangesInfo> GetPageRanges(HttpRange? range = default(HttpRange?), string snapshot = null, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<Response<PageRangesInfo>> GetPageRangesAsync(HttpRange? range = default(HttpRange?), string snapshot = null, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Pageable<PageRangeItem> GetAllPageRangesDiff(GetPageRangesDiffOptions options = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual AsyncPageable<PageRangeItem> GetAllPageRangesDiffAsync(GetPageRangesDiffOptions options = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Response<PageRangesInfo> GetPageRangesDiff(HttpRange? range = default(HttpRange?), string snapshot = null, string previousSnapshot = null, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<Response<PageRangesInfo>> GetPageRangesDiffAsync(HttpRange? range = default(HttpRange?), string snapshot = null, string previousSnapshot = null, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Response<PageRangesInfo> GetManagedDiskPageRangesDiff(HttpRange? range = default(HttpRange?), string snapshot = null, Uri previousSnapshotUri = null, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<Response<PageRangesInfo>> GetManagedDiskPageRangesDiffAsync(HttpRange? range = default(HttpRange?), string snapshot = null, Uri previousSnapshotUri = null, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Response<PageBlobInfo> Resize(long size, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<Response<PageBlobInfo>> ResizeAsync(long size, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Response<PageBlobInfo> UpdateSequenceNumber(SequenceNumberAction action, long? sequenceNumber = default(long?), PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<Response<PageBlobInfo>> UpdateSequenceNumberAsync(SequenceNumberAction action, long? sequenceNumber = default(long?), PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual CopyFromUriOperation StartCopyIncremental(Uri sourceUri, string snapshot, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<CopyFromUriOperation> StartCopyIncrementalAsync(Uri sourceUri, string snapshot, PageBlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Response<PageInfo> UploadPagesFromUri(Uri sourceUri, HttpRange sourceRange, HttpRange range, PageBlobUploadPagesFromUriOptions options = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<Response<PageInfo>> UploadPagesFromUriAsync(Uri sourceUri, HttpRange sourceRange, HttpRange range, PageBlobUploadPagesFromUriOptions options = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Response<PageInfo> UploadPagesFromUri(Uri sourceUri, HttpRange sourceRange, HttpRange range, byte[] sourceContentHash, PageBlobRequestConditions conditions, PageBlobRequestConditions sourceConditions, CancellationToken cancellationToken); public virtual Task<Response<PageInfo>> UploadPagesFromUriAsync(Uri sourceUri, HttpRange sourceRange, HttpRange range, byte[] sourceContentHash, PageBlobRequestConditions conditions, PageBlobRequestConditions sourceConditions, CancellationToken cancellationToken); public virtual Stream OpenWrite(bool overwrite, long position, PageBlobOpenWriteOptions options = null, CancellationToken cancellationToken = default(CancellationToken)); public virtual Task<Stream> OpenWriteAsync(bool overwrite, long position, PageBlobOpenWriteOptions options = null, CancellationToken cancellationToken = default(CancellationToken)); } }