Share via


@azure/event-hubs package

Classi

EventHubBufferedProducerClient

Viene EventHubBufferedProducerClientusato per pubblicare eventi in un hub eventi specifico.

L'oggetto EventHubBufferedProducerClient non pubblica immediatamente gli eventi. Gli eventi vengono invece memorizzati nel buffer in modo che possano essere in batch in modo efficiente e pubblicati quando il batch è pieno o che maxWaitTimeInMs non è trascorso alcun nuovo evento.

A seconda delle opzioni specificate quando gli eventi vengono accodati, possono essere assegnati automaticamente a una partizione, raggruppata in base alla chiave di partizione specificata o assegnata a una partizione specificata.

Questo modello è destinato a spostare il carico di gestione batch dai chiamanti, a costo di tempi non deterministici, per quando gli eventi verranno pubblicati. Ci sono altri compromessi da considerare, così come:

  • Se l'applicazione si arresta in modo anomalo, gli eventi nel buffer non saranno stati pubblicati. Per evitare la perdita di dati, i chiamanti sono invitati a tenere traccia dello stato di avanzamento della pubblicazione usando i onSendEventsSuccessHandler gestori e onSendEventsErrorHandler .
  • Gli eventi che specificano una chiave di partizione possono essere assegnati a una partizione diversa rispetto a quelle che usano la stessa chiave con altri produttori.
  • Nel caso improbabile che una partizione diventi temporaneamente non disponibile, potrebbe EventHubBufferedProducerClient richiedere più tempo per il ripristino rispetto ad altri produttori.

Negli scenari in cui è importante avere eventi pubblicati immediatamente con un risultato deterministico, assicurarsi che le chiavi di partizione vengano assegnate a una partizione coerente con altri editori o in cui la massima disponibilità sia un requisito, usando l'opzione EventHubProducerClient consigliata.

EventHubConsumerClient

La EventHubConsumerClient classe viene usata per utilizzare gli eventi da un hub eventi.

Esistono più modi per creare un oggetto EventHubConsumerClient

  • Usare la stringa di connessione dai criteri di firma di accesso condiviso creati per l'istanza di Hub eventi.
  • Usare la stringa di connessione dai criteri di firma di accesso condiviso creati per lo spazio dei nomi dell'hub eventi e il nome dell'istanza dell'hub eventi
  • Usare lo spazio dei nomi completo, ad esempio <yournamespace>.servicebus.windows.net, e un oggetto credenziali.

Facoltativamente, è anche possibile passare:

  • Un contenitore di opzioni per configurare i criteri di ripetizione dei tentativi o le impostazioni proxy.
  • Archivio checkpoint utilizzato dal client per leggere i checkpoint per determinare la posizione da cui deve riprendere la ricezione di eventi quando l'applicazione viene riavviata. L'archivio checkpoint viene usato anche dal client per bilanciare il carico di più istanze dell'applicazione.
EventHubProducerClient

La EventHubProducerClient classe viene usata per inviare eventi a un hub eventi.

Esistono più modi per creare un oggetto EventHubProducerClient

  • Usare la stringa di connessione dai criteri di firma di accesso condiviso creati per l'istanza di Hub eventi.
  • Usare la stringa di connessione dai criteri di firma di accesso condiviso creati per lo spazio dei nomi dell'hub eventi e il nome dell'istanza dell'hub eventi
  • Usare lo spazio dei nomi completo, ad esempio <yournamespace>.servicebus.windows.net, e un oggetto credenziali.

Facoltativamente, è anche possibile passare un contenitore di opzioni per configurare i criteri di ripetizione dei tentativi o le impostazioni proxy.

MessagingError

Descrive la classe di base per l'errore di messaggistica.

Interfacce

BufferedCloseOptions

Opzioni per configurare il close metodo in EventHubBufferedProducerClient.

BufferedFlushOptions

Opzioni per configurare il flush metodo in EventHubBufferedProducerClient.

Checkpoint

Un checkpoint è destinato a rappresentare l'ultimo evento elaborato dall'utente da una determinata partizione di un gruppo di consumer in un'istanza di Hub eventi.

Quando il updateCheckpoint() metodo nella PartitionProcessor classe viene chiamato dall'utente, viene creato internamente un oggetto Checkpoint . Viene quindi archiviato nella soluzione di archiviazione implementata dall'utente CheckpointManager scelto durante la creazione di un EventProcessoroggetto .

Gli utenti non devono mai interagire direttamente con Checkpoint . Questa interfaccia esiste per supportare i lavori interni di EventProcessor e CheckpointManager.

CheckpointStore

Un archivio checkpoint archivia e recupera le informazioni sulla proprietà della partizione e i dettagli del checkpoint per ogni partizione in un determinato gruppo di consumer di un'istanza dell'hub eventi.

Gli utenti non devono implementare un CheckpointStoreoggetto . Gli utenti devono scegliere implementazioni esistenti di questa interfaccia, crearne un'istanza e passarla al costruttore della classe quando si crea un'istanza EventHubConsumerClient di un client. Gli utenti non devono usare uno dei metodi in un archivio checkpoint, questi vengono usati internamente dal client.

Le implementazioni di CheckpointStore sono disponibili in npm cercando pacchetti con il prefisso @azure/eventhub-checkpointstore-.

CreateBatchOptions

Opzioni per configurare il createBatch metodo in EventHubProducerClient.

  • partitionKey : valore hashed per produrre un'assegnazione di partizione.
  • maxSizeInBytes: limite superiore per le dimensioni del batch.
  • abortSignal : segnale della richiesta di annullamento dell'operazione di invio.

Esempio di utilizzo:

{
    partitionKey: 'foo',
    maxSizeInBytes: 1024 * 1024 // 1 MB
}
EnqueueEventOptions

Opzioni per configurare il enqueueEvents metodo in EventHubBufferedProcuerClient.

EventData

Interfaccia che descrive i dati da inviare all'hub eventi. Usare questo come riferimento quando si crea l'oggetto EventHubProducerClientda inviare quando si usa . Ad esempio, { body: "your-data" } o

{
   body: "your-data",
   properties: {
      propertyName: "property value"
   }
}
EventDataAdapterParameters

Parametri della createEventDataAdapter funzione che crea un adattatore dati evento.

EventDataBatch

Interfaccia che rappresenta un batch di eventi che possono essere usati per inviare eventi a Hub eventi.

Per creare il batch, usare il createBatch() metodo in EventHubProducerClient. Per inviare il batch, usare il sendBatch() metodo nello stesso client. Per riempire il batch, usare il tryAdd() metodo nel batch stesso.

EventHubBufferedProducerClientOptions

Descrive le opzioni che possono essere fornite durante la creazione di EventHubBufferedProducerClient.

EventHubClientOptions

Descrive le opzioni che possono essere fornite durante la creazione di EventHubClient.

  • userAgent : stringa da aggiungere alla stringa predefinita dell'agente utente passata come proprietà di connessione al servizio.
  • webSocketOptions : opzioni per configurare il canale della connessione AMQP tramite Web Socket.
    • websocket : il costruttore WebSocket usato per creare una connessione AMQP se si sceglie di effettuare la connessione su un WebSocket.
    • webSocketConstructorOptions : opzioni da passare al costruttore Websocket quando si sceglie di effettuare la connessione su un WebSocket.
  • retryOptions : opzioni di ripetizione dei tentativi per tutte le operazioni sul client/producer/consumer.
    • maxRetries : numero di tentativi di ripetizione dell'operazione in caso di errore riprovabile.
    • maxRetryDelayInMs: ritardo massimo tra tentativi. Applicabile solo quando si eseguono tentativi esponenziali.
    • mode: modalità di ripetizione dei tentativi da applicare, specificata dall'enumerazione RetryMode . Le opzioni sono Exponential e Fixed. Il valore predefinito è Fixed.
    • retryDelayInMs: tempo di attesa in millisecondi prima di eseguire il tentativo successivo. Quando mode è impostato su Exponential, viene usato per calcolare i ritardi in aumento esponenziale tra i tentativi. Impostazione predefinita: 30000 millisecondi.
    • timeoutInMs: quantità di tempo in millisecondi da attendere prima del timeout dell'operazione. In questo modo verrà attivato un nuovo tentativo se sono presenti tentativi rimanenti. Valore predefinito: 60000 millisecondi.

Un utilizzo semplice può essere { "maxRetries": 4 }.

Esempio di utilizzo:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

Set di proprietà che costituiscono un stringa di connessione dell'hub eventi.

EventHubConsumerClientOptions

Descrive le opzioni che possono essere fornite durante la creazione di EventHubConsumerClient.

  • loadBalancingOptions: opzioni per ottimizzare la modalità di partizione delle attestazioni EventHubConsumerClient.
  • userAgent : stringa da aggiungere alla stringa predefinita dell'agente utente passata come proprietà di connessione al servizio.
  • webSocketOptions : opzioni per configurare il canale della connessione AMQP tramite Web Socket.
    • websocket : il costruttore WebSocket usato per creare una connessione AMQP se si sceglie di effettuare la connessione su un WebSocket.
    • webSocketConstructorOptions : opzioni da passare al costruttore Websocket quando si sceglie di effettuare la connessione su un WebSocket.
  • retryOptions : opzioni di ripetizione dei tentativi per tutte le operazioni sul client/producer/consumer.
    • maxRetries : numero di tentativi di ripetizione dell'operazione in caso di errore riprovabile.
    • maxRetryDelayInMs: ritardo massimo tra tentativi. Applicabile solo quando si eseguono tentativi esponenziali.
    • mode: modalità di ripetizione dei tentativi da applicare, specificata dall'enumerazione RetryMode . Le opzioni sono Exponential e Fixed. Il valore predefinito è Fixed.
    • retryDelayInMs: tempo di attesa in millisecondi prima di eseguire il tentativo successivo. Quando mode è impostato su Exponential, viene usato per calcolare i ritardi in aumento esponenziale tra i tentativi. Impostazione predefinita: 30000 millisecondi.
    • timeoutInMs: quantità di tempo in millisecondi da attendere prima del timeout dell'operazione. In questo modo verrà attivato un nuovo tentativo se sono presenti tentativi rimanenti. Valore predefinito: 60000 millisecondi.

Un utilizzo semplice può essere { "maxRetries": 4 }.

Esempio di utilizzo:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

Descrive le informazioni di runtime di un hub eventi.

EventPosition

Rappresenta la posizione di un evento in una partizione di Hub eventi, in genere utilizzata quando si chiama il subscribe() metodo su un EventHubConsumerClient per specificare la posizione nella partizione da cui iniziare a ricevere eventi.

Per ottenere un oggetto EventPosition che rappresenta l'inizio o la fine del flusso, usare rispettivamente le earliestEventPosition costanti e latestEventPosition .

GetEventHubPropertiesOptions

Set di opzioni per configurare il comportamento di getEventHubProperties.

  • abortSignal : implementazione dell'interfaccia AbortSignalLike per segnalare la richiesta di annullamento dell'operazione.
  • parentSpanSpan: oggetto o SpanContext da utilizzare come dell'intervallo parent creato durante la chiamata a questa operazione.
GetPartitionIdsOptions

Set di opzioni per configurare il comportamento di getPartitionIds.

  • abortSignal : implementazione dell'interfaccia AbortSignalLike per segnalare la richiesta di annullamento dell'operazione.
  • parentSpanSpan: oggetto o SpanContext da utilizzare come dell'intervallo parent creato durante la chiamata a questa operazione.
GetPartitionPropertiesOptions

Set di opzioni per configurare il comportamento di getPartitionProperties.

  • abortSignal : implementazione dell'interfaccia AbortSignalLike per segnalare la richiesta di annullamento dell'operazione.
  • parentSpanSpan: oggetto o SpanContext da utilizzare come dell'intervallo parent creato durante la chiamata a questa operazione.
LastEnqueuedEventProperties

Set di informazioni sull'ultimo evento accodato di una partizione, come osservato dal consumer come eventi ricevuti dal servizio Hub eventi

LoadBalancingOptions

Contenitore delle opzioni per configurare le impostazioni di bilanciamento del carico.

OnSendEventsErrorContext

Contiene gli eventi che non sono stati inviati correttamente all'hub eventi, la partizione a cui sono stati assegnati e l'errore rilevato durante l'invio.

OnSendEventsSuccessContext

Contiene gli eventi inviati correttamente all'hub eventi e la partizione a cui sono stati assegnati.

OperationOptions

Opzioni per la configurazione della traccia e l'interruzioneSignal.

PartitionContext

Interfaccia che descrive il contesto passato a ognuna delle funzioni che fanno parte di SubscriptionEventHandlers. Quando si implementa una di queste funzioni, usare l'oggetto contesto per ottenere informazioni sulla partizione e sulla possibilità di eseguire il checkpoint.

PartitionOwnership

Interfaccia che rappresenta i dettagli sull'istanza di un'elaborazione EventProcessor proprietaria di una determinata partizione da un gruppo di consumer di un'istanza di Hub eventi.

Nota: questa operazione viene usata internamente dall'utente EventProcessor e non deve mai crearla direttamente.

PartitionProperties

Descrive le informazioni di runtime di una partizione EventHub.

ReceivedEventData

Interfaccia che descrive la struttura dell'evento ricevuto dall'hub eventi. Usarlo come riferimento quando si crea la processEvents funzione per elaborare gli eventi ricevuti da un hub eventi quando si usa .EventHubConsumerClient

RetryOptions

Opzioni dei criteri di ripetizione dei tentativi che determinano la modalità, il numero di tentativi, l'intervallo di ripetizione dei tentativi e così via.

SendBatchOptions

Opzioni per configurare il sendBatch metodo in EventHubProducerClient quando si invia una matrice di eventi. Se partitionId è impostato, partitionKey non deve essere impostato e viceversa.

  • partitionId : la partizione a cui verrà inviato il batch.
  • partitionKey : valore con hash per produrre un'assegnazione di partizione.
  • abortSignal : segnale utilizzato per annullare l'operazione di invio.
SubscribeOptions

Opzioni per configurare il subscribe metodo in EventHubConsumerClient. Ad esempio: { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

Interfaccia che descrive l'oggetto restituito dal subscribe() metodo in EventHubConsumerClient.

SubscriptionEventHandlers

Interfaccia che descrive le funzioni da implementare dall'utente che vengono richiamate da EventHubConsumerClient quando viene chiamato il subscribe() metodo per ricevere eventi dall'hub eventi.

TokenCredential

Rappresenta una credenziale in grado di fornire un token di autenticazione.

TryAddOptions

Opzioni per configurare il comportamento del tryAdd metodo nella EventDataBatch classe .

WebSocketImpl

Descrive la forma richiesta dei costruttori WebSocket.

WebSocketOptions

Opzioni per configurare il canale della connessione AMQP tramite Web Socket.

Alias tipo

ProcessCloseHandler

Firma della funzione fornita dall'utente richiamata da EventHubConsumerClient appena dopo l'arresto per ricevere eventi da una partizione.

ProcessErrorHandler

Firma della funzione fornita dall'utente richiamata da EventHubConsumerClient per gli errori che si verificano durante la ricezione di eventi o quando si esegue una delle funzioni fornite dall'utente passate al subscribe() metodo .

ProcessEventsHandler

Firma della funzione fornita dall'utente richiamata da EventHubConsumerClient quando viene ricevuto un set di eventi.

ProcessInitializeHandler

Firma della funzione fornita dall'utente richiamata da EventHubConsumerClient appena prima di iniziare a ricevere eventi da una partizione.

Enumerazioni

CloseReason

Enumerazione che rappresenta i diversi motivi per cui un EventHubConsumerClient oggetto impedisce l'elaborazione di eventi da una partizione in un gruppo di consumer di un hub eventi.

RetryMode

Descrive il tipo di modalità di ripetizione dei tentativi

Funzioni

createEventDataAdapter(EventDataAdapterParameters)

Funzione che costruisce un adattatore dati dell'evento. Tale adattatore può essere usato con @azure/schema-registry-avro per codificare e decodificare il corpo nei dati dell'evento.

parseEventHubConnectionString(string)

Analizza i stringa di connessione specificati nelle diverse proprietà applicabili a Hub eventi di Azure. Le proprietà sono utili per costruire quindi eventHubProducerClient o EventHubConsumerClient.

Dettagli funzione

createEventDataAdapter(EventDataAdapterParameters)

Funzione che costruisce un adattatore dati dell'evento. Tale adattatore può essere usato con @azure/schema-registry-avro per codificare e decodificare il corpo nei dati dell'evento.

function createEventDataAdapter(params?: EventDataAdapterParameters): MessageAdapter<EventData>

Parametri

params
EventDataAdapterParameters

parametri per creare i dati dell'evento

Restituisce

MessageAdapter<EventData>

Adattatore dati eventi in grado di produrre e utilizzare i dati degli eventi

parseEventHubConnectionString(string)

Analizza i stringa di connessione specificati nelle diverse proprietà applicabili a Hub eventi di Azure. Le proprietà sono utili per costruire quindi eventHubProducerClient o EventHubConsumerClient.

function parseEventHubConnectionString(connectionString: string): Readonly<EventHubConnectionStringProperties>

Parametri

connectionString

string

Il stringa di connessione associato ai criteri di accesso condiviso creati per lo spazio dei nomi di Hub eventi.

Restituisce