Condividi tramite


Container.GetChangeFeedStreamIterator Method

Definition

This method creates an iterator to consume a Change Feed.

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

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 feedIterator = this.Container.GetChangeFeedStreamIterator(
    ChangeFeedStartFrom.Beginning(),
    ChangeFeedMode.Incremental,
    options);

while (feedIterator.HasMoreResults)
{
    using (ResponseMessage response = await feedIterator.ReadNextAsync())
    {
        if (response.StatusCode == NotModified) 
        {
            // No new changes
            // Capture response.ContinuationToken and break or sleep for some time
        }
        else 
        {
            using (StreamReader sr = new StreamReader(response.Content))
            using (JsonTextReader jtr = new JsonTextReader(sr))
            {
                JObject result = JObject.Load(jtr);
            }
        }
    }
}

Applies to

See also