Freigeben über


ChangeFeedProcessorBuilder Klasse

Definition

Bietet eine flexible Möglichkeit zum Erstellen einer instance von IChangeFeedProcessor mit benutzerdefinierten Parametern.

public class ChangeFeedProcessorBuilder
type ChangeFeedProcessorBuilder = class
Public Class ChangeFeedProcessorBuilder
Vererbung
ChangeFeedProcessorBuilder

Beispiele

// Observer.cs
namespace Sample
{
    using System;
    using System.Collections.Generic;
    using System.Threading;
    using System.Threading.Tasks;
    using Microsoft.Azure.Documents;
    using Microsoft.Azure.Documents.ChangeFeedProcessor.FeedProcessing;

    class SampleObserver : IChangeFeedObserver
    {
        public Task CloseAsync(IChangeFeedObserverContext context, ChangeFeedObserverCloseReason reason)
        {
            return Task.CompletedTask;  // Note: requires targeting .Net 4.6+.
        }

        public Task OpenAsync(IChangeFeedObserverContext context)
        {
            return Task.CompletedTask;
        }

        public Task ProcessChangesAsync(IChangeFeedObserverContext context, IReadOnlyList<Document> docs, CancellationToken cancellationToken)
        {
            Console.WriteLine("ProcessChangesAsync: partition {0}, {1} docs", context.PartitionKeyRangeId, docs.Count);
            return Task.CompletedTask;
        }
    }
}

// Main.cs
namespace Sample
{
    using System;
    using System.Threading.Tasks;
    using Microsoft.Azure.Documents.ChangeFeedProcessor;
    using Microsoft.Azure.Documents.ChangeFeedProcessor.Logging;

    class ChangeFeedProcessorSample
    {
        public static void Run()
        {
            RunAsync().Wait();
        }

        static async Task RunAsync()
        {
            DocumentCollectionInfo feedCollectionInfo = new DocumentCollectionInfo()
            {
                DatabaseName = "DatabaseName",
                CollectionName = "MonitoredCollectionName",
                Uri = new Uri("https://sampleservice.documents.azure.com:443/"),
                MasterKey = "-- the auth key"
            };

            DocumentCollectionInfo leaseCollectionInfo = new DocumentCollectionInfo()
            {
                DatabaseName = "DatabaseName",
                CollectionName = "leases",
                Uri = new Uri("https://sampleservice.documents.azure.com:443/"),
                MasterKey = "-- the auth key"
            };

            var builder = new ChangeFeedProcessorBuilder();
            var processor = await builder
                .WithHostName("SampleHost")
                .WithFeedCollection(feedCollectionInfo)
                .WithLeaseCollection(leaseCollectionInfo)
                .WithObserver<SampleObserver>()
                .BuildAsync();

            await processor.StartAsync();

            Console.WriteLine("Change Feed Processor started. Press <Enter> key to stop...");
            Console.ReadLine();

            await processor.StopAsync();
        }
    }
}

Konstruktoren

ChangeFeedProcessorBuilder()

Bietet eine flexible Möglichkeit zum Erstellen einer instance von IChangeFeedProcessor mit benutzerdefinierten Parametern.

Methoden

BuildAsync()

Erstellt eine neue instance von IChangeFeedProcessor mit der angegebenen Konfiguration.

BuildEstimatorAsync()

Erstellt eine neue instance von, IRemainingWorkEstimator um ausstehende Arbeit mit der angegebenen Konfiguration zu schätzen.

WithCheckpointPartitionProcessorFactory(ICheckpointPartitionProcessorFactory)

Legt fest, dass zum Erstellen IPartitionProcessor für die ICheckpointPartitionProcessorFactory Partitionsverarbeitung verwendet werden soll.

WithCollectionResourceId(String)

Legt die Sammlungsressourcen-ID der überwachten Auflistung fest.

WithDatabaseResourceId(String)

Legt die Datenbankressourcen-ID der überwachten Auflistung fest.

WithFeedCollection(DocumentCollectionInfo)

Legt die DocumentCollectionInfo der Auflistung fest, um auf Änderungen zu lauschen.

WithFeedDocumentClient(DocumentClient)

Legt einen vorhandenen DocumentClient fest, der zum Lesen aus der überwachten Auflistung verwendet werden soll.

WithFeedDocumentClient(IChangeFeedDocumentClient)

Legt einen vorhandenen IChangeFeedDocumentClient fest, der zum Lesen aus der überwachten Auflistung verwendet werden soll.

WithHealthMonitor(IHealthMonitor)

Legt die fest, die IHealthMonitor zum Überwachen einer Fehlerhaften Situation verwendet werden soll.

WithHostName(String)

Legt den Hostnamen fest.

WithLeaseCollection(DocumentCollectionInfo)

Legt die der DocumentCollectionInfo Auflistung fest, die für Leases verwendet werden soll.

WithLeaseDocumentClient(DocumentClient)

Legt einen vorhandenen DocumentClient fest, der zum Lesen aus der leases-Auflistung verwendet werden soll.

WithLeaseDocumentClient(IChangeFeedDocumentClient)

Legt einen vorhandenen IChangeFeedDocumentClient fest, der zum Lesen aus der leases-Auflistung verwendet werden soll.

WithLeaseStoreManager(ILeaseStoreManager)

Legt fest, dass ILeaseStoreManager zum Verwalten von Leases verwendet werden soll.

WithObserver<T>()

Legt einen vorhandenen IChangeFeedObserver Typ fest, der von einem IChangeFeedObserverFactory zum Verarbeiten von Änderungen verwendet werden soll.

WithObserverFactory(IChangeFeedObserverFactory)

Legt fest, dass IChangeFeedObserverFactory zum Generieren verwendet werden soll. IChangeFeedObserver

WithPartitionLoadBalancingStrategy(IParitionLoadBalancingStrategy)

Legt fest, dass für den IParitionLoadBalancingStrategy Partitionslastenausgleich verwendet werden soll.

WithPartitionProcessorFactory(IPartitionProcessorFactory)

Legt fest, dass zum Erstellen IPartitionProcessor für die IPartitionProcessorFactory Partitionsverarbeitung verwendet werden soll.

WithProcessorOptions(ChangeFeedProcessorOptions)

Legt die fest, die ChangeFeedProcessorOptions von diesem instance von IChangeFeedProcessorverwendet werden soll.

Gilt für: