Skip to content

Commit 567f0b1

Browse files
authored
Added support for Change Feed event schemas 3, 4, and 5 (Azure#27103)
1 parent 02e201a commit 567f0b1

24 files changed

+1175
-13
lines changed

sdk/storage/Azure.Storage.Blobs.ChangeFeed/CHANGELOG.md

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

33
## 12.0.0-preview.20 (Unreleased)
4-
5-
### Features Added
6-
7-
### Breaking Changes
8-
9-
### Bugs Fixed
10-
11-
### Other Changes
4+
- Added support for event schema V3, V4, and V5.
125

136
## 12.0.0-preview.19 (2022-02-07)
147
- Added support for service version 2021-04-10.

sdk/storage/Azure.Storage.Blobs.ChangeFeed/api/Azure.Storage.Blobs.ChangeFeed.netstandard2.0.cs

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,26 @@ internal BlobChangeFeedEvent() { }
3232
public partial class BlobChangeFeedEventData
3333
{
3434
internal BlobChangeFeedEventData() { }
35+
public Azure.Storage.Blobs.ChangeFeed.Models.BlobChangeFeedEventAsyncOperationInfo AsyncOperationInfo { get { throw null; } }
36+
public Azure.Storage.Blobs.Models.AccessTier? BlobAccessTier { get { throw null; } }
3537
public Azure.Storage.Blobs.ChangeFeed.BlobOperationName BlobOperationName { get { throw null; } }
3638
public Azure.Storage.Blobs.Models.BlobType BlobType { get { throw null; } }
39+
public string BlobVersion { get { throw null; } }
3740
public string ClientRequestId { get { throw null; } }
41+
public string ContainerVersion { get { throw null; } }
3842
public long ContentLength { get { throw null; } }
3943
public long? ContentOffset { get { throw null; } }
4044
public string ContentType { get { throw null; } }
4145
public System.Uri DestinationUri { get { throw null; } }
4246
public Azure.ETag ETag { get { throw null; } }
47+
public Azure.Storage.Blobs.ChangeFeed.Models.ChangeFeedEventPreviousInfo PreviousInfo { get { throw null; } }
4348
public bool? Recursive { get { throw null; } }
4449
public System.Guid RequestId { get { throw null; } }
4550
public string Sequencer { get { throw null; } }
51+
public string Snapshot { get { throw null; } }
4652
public System.Uri SourceUri { get { throw null; } }
53+
public System.Collections.Generic.Dictionary<string, Azure.Storage.Blobs.ChangeFeed.Models.BlobChangeFeedEventUpdatedBlobProperty> UpdatedBlobProperties { get { throw null; } }
54+
public Azure.Storage.Blobs.ChangeFeed.Models.BlobChangeFeedEventUpdatedBlobTags UpdatedBlobTags { get { throw null; } }
4755
public System.Uri Uri { get { throw null; } }
4856
}
4957
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
@@ -59,6 +67,7 @@ internal BlobChangeFeedEventData() { }
5967
public static Azure.Storage.Blobs.ChangeFeed.BlobChangeFeedEventType BlobSnapshotCreated { get { throw null; } }
6068
public static Azure.Storage.Blobs.ChangeFeed.BlobChangeFeedEventType BlobTierChanged { get { throw null; } }
6169
public static Azure.Storage.Blobs.ChangeFeed.BlobChangeFeedEventType Control { get { throw null; } }
70+
public static Azure.Storage.Blobs.ChangeFeed.BlobChangeFeedEventType RestorePointMarkerCreated { get { throw null; } }
6271
public static Azure.Storage.Blobs.ChangeFeed.BlobChangeFeedEventType UnspecifiedEventType { get { throw null; } }
6372
public bool Equals(Azure.Storage.Blobs.ChangeFeed.BlobChangeFeedEventType other) { throw null; }
6473
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
@@ -77,7 +86,11 @@ public static partial class BlobChangeFeedExtensions
7786
public static partial class BlobChangeFeedModelFactory
7887
{
7988
public static Azure.Storage.Blobs.ChangeFeed.BlobChangeFeedEvent BlobChangeFeedEvent(string topic, string subject, Azure.Storage.Blobs.ChangeFeed.BlobChangeFeedEventType eventType, System.DateTimeOffset eventTime, System.Guid id, Azure.Storage.Blobs.ChangeFeed.BlobChangeFeedEventData eventData, long dataVersion, string metadataVersion) { throw null; }
80-
public static Azure.Storage.Blobs.ChangeFeed.BlobChangeFeedEventData BlobChangeFeedEventData(string api, string clientRequestId, System.Guid requestId, Azure.ETag eTag, string contentType, long contentLength, Azure.Storage.Blobs.Models.BlobType blobType, long contentOffset, System.Uri destinationUri, System.Uri sourceUri, System.Uri uri, bool recursive, string sequencer) { throw null; }
89+
public static Azure.Storage.Blobs.ChangeFeed.Models.BlobChangeFeedEventAsyncOperationInfo BlobChangeFeedEventAsyncOperationInfo(Azure.Storage.Blobs.Models.AccessTier? destinationAccessTier, bool wasAsyncOperation, string copyId) { throw null; }
90+
public static Azure.Storage.Blobs.ChangeFeed.BlobChangeFeedEventData BlobChangeFeedEventData(string blobOperationName, string clientRequestId, System.Guid requestId, Azure.ETag eTag, string contentType, long contentLength, Azure.Storage.Blobs.Models.BlobType blobType, string blobVersion, string containerVersion, Azure.Storage.Blobs.Models.AccessTier? blobAccessTier, long contentOffset, System.Uri destinationUri, System.Uri sourceUri, System.Uri uri, bool recursive, string sequencer, Azure.Storage.Blobs.ChangeFeed.Models.ChangeFeedEventPreviousInfo previousInfo, string snapshot, System.Collections.Generic.Dictionary<string, Azure.Storage.Blobs.ChangeFeed.Models.BlobChangeFeedEventUpdatedBlobProperty> updatedBlobProperties, Azure.Storage.Blobs.ChangeFeed.Models.BlobChangeFeedEventAsyncOperationInfo asyncOperationInfo, Azure.Storage.Blobs.ChangeFeed.Models.BlobChangeFeedEventUpdatedBlobTags updatedBlobTags) { throw null; }
91+
public static Azure.Storage.Blobs.ChangeFeed.Models.BlobChangeFeedEventUpdatedBlobProperty BlobChangeFeedEventUpdatedBlobProperty(string propertyName, string previousValue, string newValue) { throw null; }
92+
public static Azure.Storage.Blobs.ChangeFeed.Models.BlobChangeFeedEventUpdatedBlobTags BlobChangeFeedEventUpdatedBlobTags(System.Collections.Generic.Dictionary<string, string> previousTags, System.Collections.Generic.Dictionary<string, string> newTags) { throw null; }
93+
public static Azure.Storage.Blobs.ChangeFeed.Models.ChangeFeedEventPreviousInfo ChangeFeedEventPreviousInfo(string softDeleteSnapshot, bool wasBlobSoftDeleted, string blobVersion, string lastVersion, Azure.Storage.Blobs.Models.AccessTier? previousTier) { throw null; }
8194
}
8295
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
8396
public readonly partial struct BlobOperationName : System.IEquatable<Azure.Storage.Blobs.ChangeFeed.BlobOperationName>
@@ -88,11 +101,13 @@ public static partial class BlobChangeFeedModelFactory
88101
public static Azure.Storage.Blobs.ChangeFeed.BlobOperationName AbortCopyBlob { get { throw null; } }
89102
public static Azure.Storage.Blobs.ChangeFeed.BlobOperationName ControlEvent { get { throw null; } }
90103
public static Azure.Storage.Blobs.ChangeFeed.BlobOperationName CopyBlob { get { throw null; } }
104+
public static Azure.Storage.Blobs.ChangeFeed.BlobOperationName CreateRestorePointMarker { get { throw null; } }
91105
public static Azure.Storage.Blobs.ChangeFeed.BlobOperationName DeleteBlob { get { throw null; } }
92106
public static Azure.Storage.Blobs.ChangeFeed.BlobOperationName PutBlob { get { throw null; } }
93107
public static Azure.Storage.Blobs.ChangeFeed.BlobOperationName PutBlockList { get { throw null; } }
94108
public static Azure.Storage.Blobs.ChangeFeed.BlobOperationName SetBlobMetadata { get { throw null; } }
95109
public static Azure.Storage.Blobs.ChangeFeed.BlobOperationName SetBlobProperties { get { throw null; } }
110+
public static Azure.Storage.Blobs.ChangeFeed.BlobOperationName SetBlobTags { get { throw null; } }
96111
public static Azure.Storage.Blobs.ChangeFeed.BlobOperationName SetBlobTier { get { throw null; } }
97112
public static Azure.Storage.Blobs.ChangeFeed.BlobOperationName SnapshotBlob { get { throw null; } }
98113
public static Azure.Storage.Blobs.ChangeFeed.BlobOperationName UndeleteBlob { get { throw null; } }
@@ -108,3 +123,35 @@ public static partial class BlobChangeFeedModelFactory
108123
public override string ToString() { throw null; }
109124
}
110125
}
126+
namespace Azure.Storage.Blobs.ChangeFeed.Models
127+
{
128+
public partial class BlobChangeFeedEventAsyncOperationInfo
129+
{
130+
internal BlobChangeFeedEventAsyncOperationInfo() { }
131+
public string CopyId { get { throw null; } }
132+
public Azure.Storage.Blobs.Models.AccessTier? DestinationAccessTier { get { throw null; } }
133+
public bool WasAsyncOperation { get { throw null; } }
134+
}
135+
public partial class BlobChangeFeedEventUpdatedBlobProperty
136+
{
137+
internal BlobChangeFeedEventUpdatedBlobProperty() { }
138+
public string NewValue { get { throw null; } }
139+
public string PreviousValue { get { throw null; } }
140+
public string PropertyName { get { throw null; } }
141+
}
142+
public partial class BlobChangeFeedEventUpdatedBlobTags
143+
{
144+
internal BlobChangeFeedEventUpdatedBlobTags() { }
145+
public System.Collections.Generic.Dictionary<string, string> NewTags { get { throw null; } }
146+
public System.Collections.Generic.Dictionary<string, string> PreviousTags { get { throw null; } }
147+
}
148+
public partial class ChangeFeedEventPreviousInfo
149+
{
150+
internal ChangeFeedEventPreviousInfo() { }
151+
public string BlobVersion { get { throw null; } }
152+
public string LastVersion { get { throw null; } }
153+
public Azure.Storage.Blobs.Models.AccessTier? PreviousTier { get { throw null; } }
154+
public string SoftDeleteSnapshot { get { throw null; } }
155+
public bool WasBlobSoftDeleted { get { throw null; } }
156+
}
157+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
using Azure.Storage.Blobs.Models;
5+
6+
namespace Azure.Storage.Blobs.ChangeFeed.Models
7+
{
8+
/// <summary>
9+
/// ChangeFeedEventAsyncOperationInfo.
10+
/// </summary>
11+
public class BlobChangeFeedEventAsyncOperationInfo
12+
{
13+
internal BlobChangeFeedEventAsyncOperationInfo() { }
14+
15+
/// <summary>
16+
/// DestinationAccessTier.
17+
/// </summary>
18+
public AccessTier? DestinationAccessTier { get; internal set; }
19+
20+
/// <summary>
21+
/// If the operation was async.
22+
/// </summary>
23+
public bool WasAsyncOperation { get; internal set; }
24+
25+
/// <summary>
26+
/// Copy Id.
27+
/// </summary>
28+
public string CopyId { get; internal set; }
29+
}
30+
}

0 commit comments

Comments
 (0)