Skip to content
Merged

STG 73 #13105

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
29b0c7f
Bumped Storage to service version 2019-12-12
seanmcc-msft Feb 25, 2020
dbc78b0
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Mar 4, 2020
2b1ab0f
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Mar 5, 2020
a5bc889
re-recorded tests and moved down to service version 2019-10-10
seanmcc-msft Mar 5, 2020
2d6ecaf
Ran Export-API.ps1
seanmcc-msft Mar 5, 2020
beafe27
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Mar 20, 2020
5924e01
updated Data Lake swagger readme
seanmcc-msft Mar 20, 2020
4ce75ba
regenerate datalake client
kasobol-msft Mar 20, 2020
5f4efb9
Feature/storage/updated73service version (#11039)
seanmcc-msft Apr 4, 2020
cf9b515
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Apr 4, 2020
3162a8d
Updated for Blob Tags swagger (#11056)
seanmcc-msft Apr 4, 2020
aca11e9
Generated with Container Soft Delete swagger (#11245)
seanmcc-msft Apr 11, 2020
7df6ae7
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Apr 11, 2020
f292008
re-recorded failing tests (#11246)
seanmcc-msft Apr 11, 2020
09c7a52
Added Share Soft Delete swagger (#11259)
seanmcc-msft Apr 12, 2020
4c65ce0
Added Append Blob Seal swagger (#11261)
seanmcc-msft Apr 13, 2020
32e373e
Regenerated based on minor Append Seal swagger changed (#11281)
seanmcc-msft Apr 13, 2020
885c3f7
Regenerated off latest swagger (#11311)
seanmcc-msft Apr 14, 2020
26800a4
Added Set Expiry swagger (#11337)
seanmcc-msft Apr 15, 2020
0369f07
Added Seal Append Blob (#11262)
seanmcc-msft Apr 15, 2020
626abde
Added Share Soft Delete (#11260)
seanmcc-msft Apr 15, 2020
9d375f2
Generated with Set Blob Tier with Snapshot and Version swagger (#11356)
seanmcc-msft Apr 16, 2020
70c8ebd
Update to generated code for Object Replication and Blob Tags (#11381)
amnguye Apr 16, 2020
4932dbb
Feature/storage/container soft delete (#11244)
seanmcc-msft Apr 17, 2020
a2a6a5e
Added Blob Version (#11138)
seanmcc-msft Apr 17, 2020
9432b80
Feature/storage/set blob tier snapshot version (#11425)
seanmcc-msft Apr 20, 2020
fba7189
Generated off latest swagger (#11459)
seanmcc-msft Apr 20, 2020
334485f
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Apr 20, 2020
a0e4c61
Feature/storage/blob tags (#11060)
seanmcc-msft Apr 21, 2020
7dc861f
Feature/storage/set expiry (#11353)
seanmcc-msft Apr 22, 2020
6f8316b
Feature/storage/avro parser (#11483)
seanmcc-msft Apr 23, 2020
4a2b3dc
Updated to latest swagger (#11583)
seanmcc-msft Apr 24, 2020
cbeb661
Added BaseBlobClient.CopyFromUri() (#11635)
seanmcc-msft Apr 28, 2020
6decf40
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft May 1, 2020
7ac9bf5
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft May 2, 2020
26d54ed
Feature/storage/jumbo blob (#11548)
jaschrep-msft May 5, 2020
9a252c4
Object Replication (Download Response and Get Blob Properties) (#11909)
amnguye May 7, 2020
972775f
Feature/storage/jumbo datalake (#11866)
jaschrep-msft May 8, 2020
aa40f65
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft May 8, 2020
ffc075d
Added Quick Query (#11586)
seanmcc-msft May 12, 2020
9e556ce
Updated Container Restore to match Java (#12025)
seanmcc-msft May 14, 2020
e5499c7
Regenerated off of swagger changes with quick query object rename (#1…
amnguye May 19, 2020
31ecf79
Merge branch 'master' into feature/storage/stg73base
amnguye May 19, 2020
e1fc993
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft May 26, 2020
f0faa66
Fixed build (#12297)
seanmcc-msft May 27, 2020
e2fa455
Moved Set Expiry to Data Lake and made APIs internal (#12346)
seanmcc-msft May 28, 2020
c7cdf7a
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Jun 2, 2020
973ca8f
Feature/storage/2019 12 12 sas (#11653)
seanmcc-msft Jun 2, 2020
029bf31
Added Change Feed (#11692)
seanmcc-msft Jun 3, 2020
f1f530b
Updated CI files to release Change Feed (#12506)
seanmcc-msft Jun 4, 2020
6a0fa8f
Fixed minor Change Feed bug (#12505)
seanmcc-msft Jun 4, 2020
77f8cf0
Feature/storage/conditional tags (#12469)
seanmcc-msft Jun 9, 2020
87b2e21
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Jun 10, 2020
82aa16f
Ran Export-API.ps1
seanmcc-msft Jun 10, 2020
e8e06c0
Changing OR object to a list of the proper OR class (#12740)
amnguye Jun 15, 2020
e0dcce7
Changing ObjectReplicationDestinationPolicy to ObjectReplicationDesti…
amnguye Jun 16, 2020
7decdf8
Feature/storage/api view comments (#12667)
seanmcc-msft Jun 17, 2020
05ace53
Fixed bug where BlobBaseClient.DownloadTo() couldn't handle blobs wit…
seanmcc-msft Jun 17, 2020
fe5fc10
Fixed issue where BlobModelFactory.BlobProperties parameters were all…
seanmcc-msft Jun 17, 2020
9480298
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Jun 18, 2020
9199386
Fixed Api-Compat issue
seanmcc-msft Jun 18, 2020
c667d23
Updated release notes for 73 (#12872)
seanmcc-msft Jun 18, 2020
c1a96e3
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Jun 22, 2020
5291a15
Addressed encoding issues for Blobs, Data Lake, and SMB Files (#12896)
seanmcc-msft Jun 22, 2020
5dc017e
Added StaticWebsite.DefaultIndexDocumentPath to BlobServiceProperties…
seanmcc-msft Jun 23, 2020
74b323d
Updated release notes (#12973)
seanmcc-msft Jun 24, 2020
cc06e76
Feature/storage/rehydrate priority (#12982)
seanmcc-msft Jun 24, 2020
329a093
Fixed bug where DataLakeDirectoryClient.GetSubDirectory(), GetFile(),…
seanmcc-msft Jun 24, 2020
6f742e1
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Jun 25, 2020
2a6d018
Added BlockBlobStorage and FileStorage to AccountKind (#13016)
seanmcc-msft Jun 25, 2020
576aecf
Resolved bug where ShareClient, ShareDirectoryClient, and ShareFileCl…
seanmcc-msft Jun 26, 2020
3c055fd
Updated to latest swagger (#13051)
seanmcc-msft Jun 26, 2020
a5c1c58
Jumbo Blob docstring update (#13027)
jaschrep-msft Jun 26, 2020
9cd45fd
Hide Container Restore (#13052)
seanmcc-msft Jun 26, 2020
4333efa
More STG 73 SAS work (#12993)
seanmcc-msft Jun 26, 2020
e572270
Adding object replication to list blob response (#13055)
amnguye Jun 27, 2020
8af91ca
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Jun 29, 2020
739f1a6
Feature/storage/upload stream optimizations (#12031)
jaschrep-msft Jun 29, 2020
3550a02
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Jun 29, 2020
4d0d1bf
Enabled recording tests involving connection strings, recorded specia…
seanmcc-msft Jun 29, 2020
a3d3284
PR comments
seanmcc-msft Jun 30, 2020
cb3a591
Hide renaming DataLakeFileClient.ScheduleDeletion() models
seanmcc-msft Jun 30, 2020
7668792
Merge branch 'master' into feature/storage/stg73base
seanmcc-msft Jul 1, 2020
1b915f3
Add subscription config to stg73 for preview sub (#13158)
danieljurek Jul 1, 2020
b864ed9
Queue Encryption deserializer bug fix (#13161)
jaschrep-msft Jul 1, 2020
c652b9e
Fixing live tests
seanmcc-msft Jul 1, 2020
dd8872c
mode live test fixes
seanmcc-msft Jul 2, 2020
5c800b7
updated test resources
seanmcc-msft Jul 2, 2020
555bc82
Lets try again
seanmcc-msft Jul 2, 2020
23ba6bc
next try
seanmcc-msft Jul 2, 2020
ec6fe8e
next try
seanmcc-msft Jul 2, 2020
556c4dd
updated change logs
seanmcc-msft Jul 2, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions eng/Packages.Data.props
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
<PackageReference Update="Azure.Storage.Files.Shares" Version="12.0.1" />
<PackageReference Update="Azure.Storage.Queues" Version="12.1.1" />
<PackageReference Update="Azure.Storage.Files.DataLake" Version="12.0.0" />
<PackageReference Update="Azure.Storage.Blobs.ChangeFeed" Version="12.0.0-preview.1" />
<PackageReference Update="BenchmarkDotNet" Version="0.11.5" />
<PackageReference Update="Castle.Core" Version="4.4.0" />
<PackageReference Update="FluentAssertions" Version="5.10.3" />
Expand Down
3 changes: 2 additions & 1 deletion sdk/storage/Azure.Storage.Blobs.Batch/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# Release History

## 12.3.0-preview.1 (Unreleased)

- Added support for service version 2019-12-12.
- This release contains bug fixes to improve quality.

## 12.2.1 (2020-03)
- Minor bugfixes around task completion.
Expand Down
2 changes: 1 addition & 1 deletion sdk/storage/Azure.Storage.Blobs.Batch/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Azure Storage Blobs Batch client library for .NET

> Server Version: 2019-07-07 and 2019-02-02
> Server Version: 2019-12-12, 2019-07-07, and 2019-02-02

Azure Blob storage is Microsoft's object storage solution for the cloud. Blob
storage is optimized for storing massive amounts of unstructured data. This
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -571,6 +571,51 @@ public async Task Batch_Double_Dispose_Response_Still_Available()
scenario.AssertStatus(202, responses);
await scenario.AssertDeleted(blobs);
}

[Test]
[ServiceVersion(Min = BlobClientOptions.ServiceVersion.V2019_12_12)]
public async Task SetBlobAccessTier_Snapshot()
{
await using TestScenario scenario = Scenario();
BlockBlobClient[] blobs = await scenario.CreateBlockBlobsAsync(1);
Response<BlobSnapshotInfo> blobSnapshotResponse = await blobs[0].CreateSnapshotAsync();
blobs[0] = blobs[0].WithSnapshot(blobSnapshotResponse.Value.Snapshot);

BlobBatchClient client = scenario.GetBlobBatchClient();
using BlobBatch batch = client.CreateBatch();
Response[] responses = new Response[]
{
batch.SetBlobAccessTier(blobs[0].Uri, AccessTier.Cool),
};
Response response = await client.SubmitBatchAsync(batch);

scenario.AssertStatus(202, response);
scenario.AssertStatus(200, responses);
await scenario.AssertTiers(AccessTier.Cool, blobs);
}

[Test]
[ServiceVersion(Min = BlobClientOptions.ServiceVersion.V2019_12_12)]
public async Task SetBlobAccessTier_Version()
{
await using TestScenario scenario = Scenario();
BlockBlobClient[] blobs = await scenario.CreateBlockBlobsAsync(1);
Response<BlobInfo> setMetadataResponse = await blobs[0].SetMetadataAsync(BuildMetadata());

blobs[0] = blobs[0].WithVersion(setMetadataResponse.Value.VersionId);

BlobBatchClient client = scenario.GetBlobBatchClient();
using BlobBatch batch = client.CreateBatch();
Response[] responses = new Response[]
{
batch.SetBlobAccessTier(blobs[0].Uri, AccessTier.Cool),
};
Response response = await client.SubmitBatchAsync(batch);

scenario.AssertStatus(202, response);
scenario.AssertStatus(200, responses);
await scenario.AssertTiers(AccessTier.Cool, blobs);
}
#endregion SetBlobAccessTier

#region Scenario helper
Expand Down Expand Up @@ -611,9 +656,23 @@ public async Task<BlobClient[]> CreateBlobsAsync(BlobContainerClient container,
return blobs;
}

public async Task<BlockBlobClient[]> CreateBlockBlobsAsync(BlobContainerClient container, int count)
{
BlockBlobClient[] blobs = new BlockBlobClient[count];
for (int i = 0; i < count; i++)
{
blobs[i] = _test.InstrumentClient(container.GetBlockBlobClient("blob" + (++_blobId)));
await blobs[i].UploadAsync(new MemoryStream(_test.GetRandomBuffer(Constants.KB)));
}
return blobs;
}

public async Task<BlobClient[]> CreateBlobsAsync(int count) =>
await CreateBlobsAsync(await CreateContainerAsync(), count);

public async Task<BlockBlobClient[]> CreateBlockBlobsAsync(int count) =>
await CreateBlockBlobsAsync(await CreateContainerAsync(), count);

public async Task<Uri[]> CreateBlobUrisAsync(BlobContainerClient container, int count) =>
(await CreateBlobsAsync(container, count)).Select(b => b.Uri).ToArray();

Expand Down Expand Up @@ -663,9 +722,24 @@ public async Task AssertTiers(AccessTier tier, BlobClient blob)
}
}

public async Task AssertTiers(AccessTier tier, BlockBlobClient blob)
{
try
{
BlobProperties properties = await blob.GetPropertiesAsync();
Assert.AreEqual(tier.ToString(), properties.AccessTier.ToString());
}
catch (RequestFailedException)
{
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If GetProperties fails, is it okay to catch it and pass the test?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to look into this one, I don't remember what I was doing here.

}

public Task AssertTiers(AccessTier tier, BlobClient[] blobs) =>
Task.WhenAll(blobs.Select(b => AssertTiers(tier, b)));

public Task AssertTiers(AccessTier tier, BlockBlobClient[] blobs) =>
Task.WhenAll(blobs.Select(b => AssertTiers(tier, b)));

public void AssertStatus(int status, params Response[] responses) =>
Assert.IsTrue(responses.All(r => r.Status == status));

Expand Down
Loading