ChangeFeedProcessorBuilder Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona una manera flexible de crear una instancia de IChangeFeedProcessor con un conjunto personalizado de parámetros.
public class ChangeFeedProcessorBuilder
type ChangeFeedProcessorBuilder = class
Public Class ChangeFeedProcessorBuilder
- Herencia
-
ChangeFeedProcessorBuilder
Ejemplos
// 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();
}
}
}
Constructores
ChangeFeedProcessorBuilder() |
Proporciona una manera flexible de crear una instancia de IChangeFeedProcessor con un conjunto personalizado de parámetros. |
Métodos
BuildAsync() |
Crea una nueva instancia de IChangeFeedProcessor con la configuración especificada. |
BuildEstimatorAsync() |
Crea una nueva instancia de IRemainingWorkEstimator para calcular el trabajo pendiente con la configuración especificada. |
WithCheckpointPartitionProcessorFactory(ICheckpointPartitionProcessorFactory) |
Establece el ICheckpointPartitionProcessorFactory objeto que se va a usar para crear IPartitionProcessor para el procesamiento de particiones. |
WithCollectionResourceId(String) |
Establece el identificador de recurso de recopilación de la colección supervisada. |
WithDatabaseResourceId(String) |
Establece el identificador de recurso de base de datos de la colección supervisada. |
WithFeedCollection(DocumentCollectionInfo) |
Establece el DocumentCollectionInfo de la colección para escuchar los cambios. |
WithFeedDocumentClient(DocumentClient) |
Establece un existente DocumentClient que se va a usar para leer de la colección supervisada. |
WithFeedDocumentClient(IChangeFeedDocumentClient) |
Establece un existente IChangeFeedDocumentClient que se va a usar para leer de la colección supervisada. |
WithHealthMonitor(IHealthMonitor) |
Establece el IHealthMonitor objeto que se va a usar para supervisar la situación de insalubridad. |
WithHostName(String) |
Establece el nombre de host. |
WithLeaseCollection(DocumentCollectionInfo) |
Establece el DocumentCollectionInfo de la colección que se va a usar para concesiones. |
WithLeaseDocumentClient(DocumentClient) |
Establece un existente DocumentClient que se va a usar para leer de la colección de concesiones. |
WithLeaseDocumentClient(IChangeFeedDocumentClient) |
Establece un existente IChangeFeedDocumentClient que se va a usar para leer de la colección de concesiones. |
WithLeaseStoreManager(ILeaseStoreManager) |
Establece el ILeaseStoreManager objeto que se va a usar para administrar concesiones. |
WithObserver<T>() |
Establece un tipo existente IChangeFeedObserver que un objeto va a usar IChangeFeedObserverFactory para procesar los cambios. |
WithObserverFactory(IChangeFeedObserverFactory) |
Establece el IChangeFeedObserverFactory objeto que se va a usar para generar IChangeFeedObserver |
WithPartitionLoadBalancingStrategy(IParitionLoadBalancingStrategy) |
Establece el objeto que se va a usar para el IParitionLoadBalancingStrategy equilibrio de carga de particiones. |
WithPartitionProcessorFactory(IPartitionProcessorFactory) |
Establece el IPartitionProcessorFactory objeto que se va a usar para crear IPartitionProcessor para el procesamiento de particiones. |
WithProcessorOptions(ChangeFeedProcessorOptions) |
Establece el ChangeFeedProcessorOptions objeto que usará esta instancia de IChangeFeedProcessor. |
Se aplica a
Azure SDK for .NET