public PageBlobWriteStream( PageBlobClient pageBlobClient, long bufferSize, long position, PageBlobRequestConditions conditions, IProgress <long> progressHandler) : base( position, bufferSize, progressHandler) { ValidateBufferSize(bufferSize); ValidatePosition(position); _pageBlobClient = pageBlobClient; _conditions = conditions ?? new PageBlobRequestConditions(); _writeIndex = position; }
protected override async Task <Stream> OpenWriteAsync( PageBlobClient client, bool overwrite, long?maxDataSize, Dictionary <string, string> tags, int?bufferSize = default, BlobRequestConditions conditions = default, Dictionary <string, string> metadata = default, HttpHeaderParameters httpHeaders = default, IProgress <long> progressHandler = default) { if (metadata != default) { TestHelper.AssertInconclusiveRecordingFriendly(Recording.Mode, "PageBlobClient.OpenWriteAsync() does not support metadata."); } if (tags != default) { TestHelper.AssertInconclusiveRecordingFriendly(Recording.Mode, "PageBlobClient.OpenWriteAsync() does not support tags."); } if (httpHeaders != default) { TestHelper.AssertInconclusiveRecordingFriendly(Recording.Mode, "PageBlobClient.OpenWriteAsync() does not support httpHeaders."); } PageBlobRequestConditions pageConditions = conditions == default ? default : new PageBlobRequestConditions { IfModifiedSince = conditions.IfModifiedSince, IfUnmodifiedSince = conditions.IfUnmodifiedSince, IfMatch = conditions.IfMatch, IfNoneMatch = conditions.IfNoneMatch, LeaseId = conditions.LeaseId, }; return(await client.OpenWriteAsync(overwrite, 0, new PageBlobOpenWriteOptions { BufferSize = bufferSize, OpenConditions = pageConditions, Size = maxDataSize, ProgressHandler = progressHandler, })); }
public async Task GetManagedDiskPageRangesDiffAsync_AccessConditions() { var snapshot2Client = InstrumentClient(new PageBlobClient(snapshot2SASUri, GetOptions())); foreach (var parameters in Reduced_AccessConditions_Data) { parameters.Match = await SetupBlobMatchCondition(snapshot2Client, parameters.Match); PageBlobRequestConditions accessConditions = PageBlobClientTests.BuildAccessConditions( parameters: parameters, lease: false); // Act Response <PageRangesInfo> response = await snapshot2Client.GetManagedDiskPageRangesDiffAsync( range : new HttpRange(0, Constants.KB), previousSnapshotUri : snapshot1SASUri, conditions : accessConditions); // Assert Assert.IsNotNull(response.Value.PageRanges); } }
public PageBlobWriteStream( PageBlobClient pageBlobClient, long bufferSize, long position, PageBlobRequestConditions conditions, IProgress <long> progressHandler // TODO #27253 //UploadTransactionalHashingOptions hashingOptions ) : base( position, bufferSize, progressHandler // TODO #27253 //hashingOptions ) { ValidateBufferSize(bufferSize); ValidatePosition(position); _pageBlobClient = pageBlobClient; _conditions = conditions ?? new PageBlobRequestConditions(); _writeIndex = position; }
public async Task GetManagedDiskPageRangesDiffAsync_AccessConditionsFail() { var snapshot2Client = InstrumentClient(new PageBlobClient(snapshot2SASUri, GetOptions())); foreach (var parameters in Reduced_AccessConditions_Fail_Data) { parameters.NoneMatch = await SetupBlobMatchCondition(snapshot2Client, parameters.NoneMatch); PageBlobRequestConditions accessConditions = PageBlobClientTests.BuildAccessConditions( parameters: parameters, lease: false); // Act await TestHelper.CatchAsync <Exception>( async() => { var _ = (await snapshot2Client.GetManagedDiskPageRangesDiffAsync( range: new HttpRange(0, Constants.KB), previousSnapshotUri: snapshot1SASUri, conditions: accessConditions)).Value; }); } }