ChangeFeedProcessorBuilder クラス

定義

カスタム パラメーター セットを使用して の IChangeFeedProcessor インスタンスを柔軟に作成する方法を提供します。

public class ChangeFeedProcessorBuilder
type ChangeFeedProcessorBuilder = class
Public Class ChangeFeedProcessorBuilder
継承
ChangeFeedProcessorBuilder

// 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();
        }
    }
}

コンストラクター

ChangeFeedProcessorBuilder()

カスタム パラメーター セットを使用して の IChangeFeedProcessor インスタンスを柔軟に作成する方法を提供します。

メソッド

BuildAsync()

指定した構成を使用して、 IChangeFeedProcessor の新しいインスタンスを構築します。

BuildEstimatorAsync()

指定した構成で保留中の作業を見積もるために、 の IRemainingWorkEstimator 新しいインスタンスを構築します。

WithCheckpointPartitionProcessorFactory(ICheckpointPartitionProcessorFactory)

ICheckpointPartitionProcessorFactoryパーティション処理の作成IPartitionProcessorに使用する を設定します。

WithCollectionResourceId(String)

監視対象のコレクションのコレクション リソース ID を設定します。

WithDatabaseResourceId(String)

監視対象のコレクションのデータベース リソース ID を設定します。

WithFeedCollection(DocumentCollectionInfo)

変更を DocumentCollectionInfo リッスンするコレクションの を設定します。

WithFeedDocumentClient(DocumentClient)

監視対象のコレクションからの読み取りに使用する既存 DocumentClient の を設定します。

WithFeedDocumentClient(IChangeFeedDocumentClient)

監視対象のコレクションからの読み取りに使用する既存 IChangeFeedDocumentClient の を設定します。

WithHealthMonitor(IHealthMonitor)

IHealthMonitor異常な状況を監視するために使用する を設定します。

WithHostName(String)

ホスト名を設定します。

WithLeaseCollection(DocumentCollectionInfo)

リースに DocumentCollectionInfo 使用するコレクションの を設定します。

WithLeaseDocumentClient(DocumentClient)

リース コレクションからの読み取りに使用する既存 DocumentClient の を設定します。

WithLeaseDocumentClient(IChangeFeedDocumentClient)

リース コレクションからの読み取りに使用する既存 IChangeFeedDocumentClient の を設定します。

WithLeaseStoreManager(ILeaseStoreManager)

リースの ILeaseStoreManager 管理に使用する を設定します。

WithObserver<T>()

変更を処理するために によって使用される既存 IChangeFeedObserverIChangeFeedObserverFactory 型を設定します。

WithObserverFactory(IChangeFeedObserverFactory)

生成に使用する を設定します。IChangeFeedObserverFactoryIChangeFeedObserver

WithPartitionLoadBalancingStrategy(IParitionLoadBalancingStrategy)

パーティションの負荷分散に使用する を設定します。IParitionLoadBalancingStrategy

WithPartitionProcessorFactory(IPartitionProcessorFactory)

IPartitionProcessorFactoryパーティション処理の作成IPartitionProcessorに使用する を設定します。

WithProcessorOptions(ChangeFeedProcessorOptions)

ChangeFeedProcessorOptions このインスタンス IChangeFeedProcessorで使用される を設定します。

適用対象