Skip to content

Commit a5d95e7

Browse files
amnguyeCopilot
andauthored
[Storage] [WebJobs] Preparing for release of WebJobs Storage Extension 5.3.7 (#53545)
* Fixed GetBlobsAsync calls to call specific API; Updated changelogs, versions and dates * Incremented version in .csproj * Fixed tabbing * Apply suggestion from @Copilot Co-authored-by: Copilot <[email protected]> * Move changelog to Other Changes --------- Co-authored-by: Copilot <[email protected]>
1 parent 4731944 commit a5d95e7

File tree

9 files changed

+33
-37
lines changed

9 files changed

+33
-37
lines changed

sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/CHANGELOG.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
# Release History
22

3-
## 5.4.0-beta.1 (Unreleased)
4-
5-
### Features Added
6-
7-
### Breaking Changes
8-
9-
### Bugs Fixed
3+
## 5.3.7 (2025-10-29)
104

115
### Other Changes
6+
- The following optimizations were added to Blob Trigger processing:
7+
- Exclude containers that are not intended for monitoring.
8+
- Do not perform unnecessary scanning for container(s) detected during the initial write log.
9+
- Cache recently found write entry to avoid analyzing log blobs again.
10+
- Migrate ScaleMonitor to TargetScaler.
1211

1312
## 5.3.6 (2025-09-09)
1413

sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/src/Listeners/ScanBlobScanLogHybridPollingStrategy.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,11 @@ public async Task<IEnumerable<BlobBaseClient>> PollNewBlobsAsync(
226226
Stopwatch sw = Stopwatch.StartNew();
227227
try
228228
{
229-
AsyncPageable<BlobItem> blobsAsyncPageable = container.GetBlobsAsync(cancellationToken: cancellationToken);
229+
AsyncPageable<BlobItem> blobsAsyncPageable = container.GetBlobsAsync(
230+
traits: BlobTraits.None,
231+
states: BlobStates.None,
232+
prefix: null,
233+
cancellationToken: cancellationToken);
230234
IAsyncEnumerable<Page<BlobItem>> pages = blobsAsyncPageable.AsPages(continuationToken: continuationToken, pageSizeHint: blobPollLimitPerContainer);
231235
IAsyncEnumerator<Page<BlobItem>> pagesEnumerator = pages.GetAsyncEnumerator(cancellationToken);
232236
if (await pagesEnumerator.MoveNextAsync().ConfigureAwait(false))

sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/src/Listeners/ScanContainersStrategy.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,11 @@ public static async Task<Tuple<IEnumerable<BlobBaseClient>, DateTime>> PollNewBl
160160

161161
try
162162
{
163-
currentBlobs = container.GetBlobsAsync(cancellationToken: cancellationToken);
163+
currentBlobs = container.GetBlobsAsync(
164+
traits: BlobTraits.None,
165+
states: BlobStates.None,
166+
prefix: null,
167+
cancellationToken: cancellationToken);
164168

165169
List<BlobBaseClient> newBlobs = new List<BlobBaseClient>();
166170

sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/src/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs.csproj

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<TargetFrameworks>$(RequiredTargetFrameworks)</TargetFrameworks>
44
</PropertyGroup>
55
<PropertyGroup>
6-
<Version>5.4.0-beta.1</Version>
6+
<Version>5.3.7</Version>
77
<!--The ApiCompatVersion is managed automatically and should not generally be modified manually.-->
88
<ApiCompatVersion>5.3.6</ApiCompatVersion>
99
<Description>This extension adds bindings for Storage</Description>
@@ -15,10 +15,7 @@
1515
<ItemGroup>
1616
<PackageReference Include="Microsoft.Azure.WebJobs" />
1717
<PackageReference Include="Microsoft.Extensions.Azure" />
18-
<ProjectReference Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Blobs\src\Azure.Storage.Blobs.csproj" />
19-
<!-- The PackageReference is commented out because Azure.Storage.Blobs is now included via ProjectReference above. -->
20-
<!-- It is retained here until after the next release, and the dependency will be switched back to a PackageReference in the future. -->
21-
<!-- <PackageReference Include="Azure.Storage.Blobs" /> -->
18+
<PackageReference Include="Azure.Storage.Blobs" />
2219
<PackageReference Include="Azure.Storage.Queues" />
2320
<PackageReference Include="Microsoft.Extensions.Hosting" />
2421
</ItemGroup>

sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/tests/Listeners/ScanBlobScanLogHybridPollingStrategyTests.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public void Setup()
7373
{
7474
return new TestAsyncPageable<BlobItem>(_blobItems);
7575
});
76-
_blobContainerMock.Setup(x => x.GetBlobsAsync(It.IsAny<GetBlobsOptions>(), It.IsAny<CancellationToken>()))
76+
_blobContainerMock.Setup(x => x.GetBlobsAsync(It.IsAny<BlobTraits>(), It.IsAny<BlobStates>(), It.IsAny<string>(), It.IsAny<CancellationToken>()))
7777
.Returns(() =>
7878
{
7979
return new TestAsyncPageable<BlobItem>(_blobItems);
@@ -83,7 +83,7 @@ public void Setup()
8383
{
8484
return new TestAsyncPageable<BlobItem>(_secondBlobItems);
8585
});
86-
_secondBlobContainerMock.Setup(x => x.GetBlobsAsync(It.IsAny<GetBlobsOptions>(), It.IsAny<CancellationToken>()))
86+
_secondBlobContainerMock.Setup(x => x.GetBlobsAsync(It.IsAny<BlobTraits>(), It.IsAny<BlobStates>(), It.IsAny<string>(), It.IsAny<CancellationToken>()))
8787
.Returns(() =>
8888
{
8989
return new TestAsyncPageable<BlobItem>(_secondBlobItems);
@@ -93,7 +93,7 @@ public void Setup()
9393
{
9494
return new TestAsyncPageable<BlobItem>(new List<BlobItem>());
9595
});
96-
_logsContainerMock.Setup(x => x.GetBlobsAsync(It.IsAny<GetBlobsOptions>(), It.IsAny<CancellationToken>()))
96+
_logsContainerMock.Setup(x => x.GetBlobsAsync(It.IsAny<BlobTraits>(), It.IsAny<BlobStates>(), It.IsAny<string>(), It.IsAny<CancellationToken>()))
9797
.Returns(() =>
9898
{
9999
return new TestAsyncPageable<BlobItem>(new List<BlobItem>());
@@ -246,7 +246,7 @@ public void BlobPolling_IgnoresClockSkew()
246246
// We should see the new item. We'll see 2 blobs, but only process 1 (due to receipt).
247247
RunExecuterWithExpectedBlobs(expectedNames, product, executor, 1);
248248

249-
_blobContainerMock.Verify(x => x.GetBlobsAsync(It.IsAny<GetBlobsOptions>(), It.IsAny<CancellationToken>()),
249+
_blobContainerMock.Verify(x => x.GetBlobsAsync(It.IsAny<BlobTraits>(), It.IsAny<BlobStates>(), It.IsAny<string>(), It.IsAny<CancellationToken>()),
250250
Times.Exactly(2));
251251
Assert.AreEqual(expectedNames, executor.BlobReceipts);
252252
}
@@ -284,7 +284,7 @@ public void BlobPolling_IncludesPreviousBatch()
284284
// We should see the new item. We'll see 2 blobs, but only process 1 (due to receipt).
285285
RunExecuterWithExpectedBlobs(expectedNames, product, executor, 1);
286286

287-
_blobContainerMock.Verify(x => x.GetBlobsAsync(It.IsAny<GetBlobsOptions>(), It.IsAny<CancellationToken>()),
287+
_blobContainerMock.Verify(x => x.GetBlobsAsync(It.IsAny<BlobTraits>(), It.IsAny<BlobStates>(), It.IsAny<string>(), It.IsAny<CancellationToken>()),
288288
Times.Exactly(2));
289289
Assert.AreEqual(expectedNames, executor.BlobReceipts);
290290
}
@@ -406,7 +406,7 @@ public async Task ExecuteAsync_UpdatesScanInfo_WithEarliestFailure()
406406
DateTime? storedTime = await testScanInfoManager.LoadLatestScanAsync(accountName, ContainerName);
407407
Assert.True(storedTime < earliestErrorTime);
408408
Assert.AreEqual(1, testScanInfoManager.UpdateCounts[accountName][ContainerName]);
409-
_blobContainerMock.Verify(x => x.GetBlobsAsync(It.IsAny<GetBlobsOptions>(), It.IsAny<CancellationToken>()),
409+
_blobContainerMock.Verify(x => x.GetBlobsAsync(It.IsAny<BlobTraits>(), It.IsAny<BlobStates>(), It.IsAny<string>(), It.IsAny<CancellationToken>()),
410410
Times.Exactly(2));
411411
}
412412

sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/CHANGELOG.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
11
# Release History
22

3-
## 5.4.0-beta.1 (Unreleased)
4-
5-
### Features Added
6-
7-
### Breaking Changes
8-
9-
### Bugs Fixed
3+
## 5.3.7 (2025-10-29)
104

115
### Other Changes
6+
- This release contains bug fixes to improve quality.
127

138
## 5.3.6 (2025-09-09)
149

sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/src/Microsoft.Azure.WebJobs.Extensions.Storage.Queues.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<TargetFrameworks>$(RequiredTargetFrameworks)</TargetFrameworks>
44
</PropertyGroup>
55
<PropertyGroup>
6-
<Version>5.4.0-beta.1</Version>
6+
<Version>5.3.7</Version>
77
<!--The ApiCompatVersion is managed automatically and should not generally be modified manually.-->
88
<ApiCompatVersion>5.3.6</ApiCompatVersion>
99
<Description>This extension adds bindings for Storage</Description>

sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage/CHANGELOG.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
# Release History
22

3-
## 5.4.0-beta.1 (Unreleased)
4-
5-
### Features Added
6-
7-
### Breaking Changes
8-
9-
### Bugs Fixed
3+
## 5.3.7 (2025-10-29)
104

115
### Other Changes
6+
Please refer to [`Microsoft.Azure.WebJobs.Extension.Storage.Blobs`](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/CHANGELOG.md) and [`Microsoft.Azure.WebJobs.Extension.Storage.Queues`](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/CHANGELOG.md) for detailed list of changes.
127

138
## 5.3.6 (2025-09-09)
149

1510
### Other Changes
1611
Please refer to [`Microsoft.Azure.WebJobs.Extension.Storage.Blobs`](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/CHANGELOG.md) and [`Microsoft.Azure.WebJobs.Extension.Storage.Queues`](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/CHANGELOG.md) for detailed list of changes.
1712

13+
## 5.3.5 (2025-07-21)
14+
1815
### Other Changes
1916
Please refer to [`Microsoft.Azure.WebJobs.Extension.Storage.Blobs`](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/CHANGELOG.md) and [`Microsoft.Azure.WebJobs.Extension.Storage.Queues`](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/CHANGELOG.md) for detailed list of changes.
2017

sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage/src/Microsoft.Azure.WebJobs.Extensions.Storage.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<TargetFrameworks>$(RequiredTargetFrameworks)</TargetFrameworks>
44
</PropertyGroup>
55
<PropertyGroup>
6-
<Version>5.4.0-beta.1</Version>
6+
<Version>5.3.7</Version>
77
<!--The ApiCompatVersion is managed automatically and should not generally be modified manually.-->
88
<ApiCompatVersion>5.3.6</ApiCompatVersion>
99
<RunApiCompat>false</RunApiCompat>

0 commit comments

Comments
 (0)