Table of Contents

Class ChangeFeedItemChange<T>

Namespace
Microsoft.Azure.Cosmos
Assembly
Microsoft.Azure.Cosmos.Client.dll

The typed response that contains the current, previous, and metadata change feed resource when ChangeFeedMode is initialized to AllVersionsAndDeletes.

public class ChangeFeedItemChange<T>

Type Parameters

T
Inheritance
ChangeFeedItemChange<T>
Inherited Members
Extension Methods

Examples

public class ToDoActivity
{
    public string type { get; set; }
    public string id { get; set; }
    public string status { get; set; }
}

ChangeFeedMode changeFeedMode = ChangeFeedMode.AllVersionsAndDeletes;
PartitionKey partitionKey = new PartitionKey(@"learning");
ChangeFeedStartFrom changeFeedStartFrom = ChangeFeedStartFrom.Now(FeedRange.FromPartitionKey(partitionKey));

using (FeedIterator<ChangeFeedItemChanges<ToDoActivity>> feedIterator = container.GetChangeFeedIterator<ChangeFeedItemChanges<ToDoActivity>>(
    changeFeedStartFrom: changeFeedStartFrom,
    changeFeedMode: changeFeedMode))
{
    while (feedIterator.HasMoreResults)
    {
        FeedResponse<ChangeFeedItemChanges<ToDoActivity>> feedResponse = await feedIterator.ReadNextAsync();

        if (feedResponse.StatusCode != HttpStatusCode.NotModified)
        {
            IEnumerable<ChangeFeedItemChanges<ToDoActivity>> feedResource = feedResponse.Resource;

            foreach(ChangeFeedItemChanges<ToDoActivity> itemChanges in feedResource)
            {
                ToDoActivity currentToDoActivity = itemChanges.Current;
                ToDoActivity previousToDoActivity = itemChanges.Previous;
                ChangeFeedMetadata toDoActivityMetadata = itemChanges.Metadata;
            }
        }
    }
}

Remarks

ChangeFeedItemChange<T> is an optional helper class that uses Newtonsoft serialization libraries. Users are welcome to create their own custom helper class.

Constructors

ChangeFeedItemChange()

public ChangeFeedItemChange()

Properties

Current

The full fidelity change feed current item.

public T Current { get; set; }

Property Value

T

Metadata

The full fidelity change feed metadata.

public ChangeFeedMetadata Metadata { get; set; }

Property Value

ChangeFeedMetadata

Previous

For delete operations, previous image is always going to be provided. The previous image on replace operations is not going to be exposed by default and requires account-level or container-level opt-in.

public T Previous { get; set; }

Property Value

T