Condividi tramite


Container.GetChangeFeedIterator<T> Method

Definition

This method creates an iterator to consume a Change Feed.

public abstract Microsoft.Azure.Cosmos.FeedIterator<T> GetChangeFeedIterator<T> (Microsoft.Azure.Cosmos.ChangeFeedStartFrom changeFeedStartFrom, Microsoft.Azure.Cosmos.ChangeFeedMode changeFeedMode, Microsoft.Azure.Cosmos.ChangeFeedRequestOptions changeFeedRequestOptions = default);
abstract member GetChangeFeedIterator : Microsoft.Azure.Cosmos.ChangeFeedStartFrom * Microsoft.Azure.Cosmos.ChangeFeedMode * Microsoft.Azure.Cosmos.ChangeFeedRequestOptions -> Microsoft.Azure.Cosmos.FeedIterator<'T>
Public MustOverride Function GetChangeFeedIterator(Of T) (changeFeedStartFrom As ChangeFeedStartFrom, changeFeedMode As ChangeFeedMode, Optional changeFeedRequestOptions As ChangeFeedRequestOptions = Nothing) As FeedIterator(Of T)

Type Parameters

T

Parameters

changeFeedStartFrom
ChangeFeedStartFrom

Where to start the changefeed from.

changeFeedMode
ChangeFeedMode

Defines the mode on which to consume the change feed.

changeFeedRequestOptions
ChangeFeedRequestOptions

(Optional) The options for the Change Feed consumption.

Returns

An iterator to go through the Change Feed.

Examples

ChangeFeedRequestOptions options = new ChangeFeedRequestOptions()
{
    PageSizeHint = 10,
}

FeedIterator<MyItem> feedIterator = this.Container.GetChangeFeedIterator<MyItem>(
    ChangeFeedStartFrom.Beginning(),
    ChangeFeedMode.Incremental,
    options);

    while (feedIterator.HasMoreResults)
    {
        FeedResponse<MyItem> response = await feedIterator.ReadNextAsync();

        if (response.StatusCode == NotModified) 
        {
            // No new changes
            // Capture response.ContinuationToken and break or sleep for some time
        }
        else 
        {
            foreach (var item in response)
            {
                Console.WriteLine(item);
            }
        }
    }

Applies to

See also