Condividi tramite


@azure/event-hubs package

Classi

EventHubBufferedProducerClient

Il EventHubBufferedProducerClientviene usato per pubblicare eventi in un hub eventi specifico.

Il EventHubBufferedProducerClient non pubblica immediatamente gli eventi. Gli eventi vengono invece memorizzati nel buffer in modo che possano essere inseriti in batch e pubblicati in modo efficiente quando il batch è pieno o il maxWaitTimeInMs è trascorso senza nuovi eventi accodati.

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

Questo modello è progettato per spostare l'onere della gestione batch dai chiamanti, a costo di tempi non deterministici, per quando gli eventi verranno pubblicati. Esistono anche altri compromessi da considerare:

  • 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 pubblicazione usando i gestori onSendEventsSuccessHandler e onSendEventsErrorHandler.
  • Agli eventi che specificano una chiave di partizione può essere assegnata una partizione diversa da quelle che usano la stessa chiave con altri producer.
  • Nel caso improbabile che una partizione diventi temporaneamente non disponibile, il EventHubBufferedProducerClient potrebbe richiedere più tempo per il ripristino rispetto ad altri producer.

Negli scenari in cui è importante che gli eventi vengano 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, è consigliabile usare il EventHubProducerClient.

EventHubConsumerClient

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

Esistono diversi modi per creare un EventHubConsumerClient

  • Usare la stringa di connessione dei criteri di firma di accesso condiviso creati per l'istanza dell'hub eventi.
  • Usare la stringa di connessione del criterio di firma di accesso condiviso creato per lo spazio dei nomi dell'hub eventi e il nome dell'istanza dell'hub eventi
  • Usare lo spazio dei nomi completo come <yournamespace>.servicebus.windows.nete un oggetto credenziali.

Facoltativamente, è anche possibile passare:

  • Contenitore delle opzioni per configurare i criteri di ripetizione dei tentativi o le impostazioni proxy.
  • Archivio checkpoint usato 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 classe EventHubProducerClient viene usata per inviare eventi a un hub eventi.

Esistono diversi modi per creare un EventHubProducerClient

  • Usare la stringa di connessione dei criteri di firma di accesso condiviso creati per l'istanza dell'hub eventi.
  • Usare la stringa di connessione del criterio di firma di accesso condiviso creato per lo spazio dei nomi dell'hub eventi e il nome dell'istanza dell'hub eventi
  • Usare lo spazio dei nomi completo come <yournamespace>.servicebus.windows.nete 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 metodo close nel EventHubBufferedProducerClient.

BufferedFlushOptions

Opzioni per configurare il metodo flush nel EventHubBufferedProducerClient.

Checkpoint

Un checkpoint è progettato per rappresentare l'ultimo evento elaborato correttamente dall'utente da una particolare partizione di un gruppo di consumer in un'istanza di Hub eventi.

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

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 CheckpointStore. Gli utenti devono scegliere implementazioni esistenti di questa interfaccia, crearne un'istanza e passarla al costruttore della classe EventHubConsumerClient durante la creazione di un'istanza di un client. Gli utenti non devono usare alcun metodo in un archivio checkpoint, che 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 metodo createBatch nel EventHubProducerClient.

  • partitionKey : valore con hash per produrre un'assegnazione di partizione.
  • maxSizeInBytes: limite superiore per le dimensioni del batch.
  • abortSignal : segnala la richiesta di annullare l'operazione di invio.

Esempio di utilizzo:

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

Opzioni per configurare il metodo enqueueEvents nel EventHubBufferedProducerClient.

EventData

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

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

Parametri per la funzione createEventDataAdapter che crea un adattatore dati dell'evento.

EventDataBatch

Interfaccia che rappresenta un batch di eventi che possono essere usati per inviare eventi all'hub eventi.

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

EventHubBufferedProducerClientOptions

Vengono descritte le opzioni che è possibile specificare durante la creazione del EventHubBufferedProducerClient.

EventHubClientOptions

Vengono descritte le opzioni che è possibile specificare durante la creazione di EventHubClient.

  • userAgent : stringa da aggiungere alla stringa dell'agente utente incorporata passata come proprietà di connessione al servizio.
  • webSocketOptions : opzioni per configurare il canale della connessione AMQP su Web Socket.
    • websocket : il costruttore WebSocket usato per creare una connessione AMQP se si sceglie di stabilire la connessione tramite un WebSocket.
    • webSocketConstructorOptions : opzioni da passare al costruttore Websocket quando si sceglie di stabilire la connessione tramite 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 i 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. Valore predefinito: 30000 millisecondi.
    • timeoutInMs: tempo in millisecondi di attesa 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 una stringa di connessione dell'hub eventi.

EventHubConsumerClientOptions

Vengono descritte le opzioni che è possibile specificare durante la creazione di EventHubConsumerClient.

  • loadBalancingOptions: opzioni per ottimizzare le partizioni delle attestazioni EventHubConsumerClient.
  • userAgent : stringa da aggiungere alla stringa dell'agente utente incorporata passata come proprietà di connessione al servizio.
  • webSocketOptions : opzioni per configurare il canale della connessione AMQP su Web Socket.
    • websocket : il costruttore WebSocket usato per creare una connessione AMQP se si sceglie di stabilire la connessione tramite un WebSocket.
    • webSocketConstructorOptions : opzioni da passare al costruttore Websocket quando si sceglie di stabilire la connessione tramite 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 i 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. Valore predefinito: 30000 millisecondi.
    • timeoutInMs: tempo in millisecondi di attesa 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 metodo subscribe() 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, utilizzare rispettivamente le costanti earliestEventPosition e latestEventPosition.

GetEventHubPropertiesOptions

Set di opzioni per configurare il comportamento di getEventHubProperties.

  • abortSignal : implementazione dell'interfaccia AbortSignalLike per segnalare la richiesta di annullare l'operazione.
  • parentSpan : Span o SpanContext da usare come parent dell'intervallo 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 annullare l'operazione.
  • parentSpan : Span o SpanContext da usare come parent dell'intervallo 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 annullare l'operazione.
  • parentSpan : Span o SpanContext da usare come parent dell'intervallo 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 configurare la traccia e abortSignal.

PartitionContext

Interfaccia che descrive il contesto passato a ognuna delle funzioni che fanno parte del 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 EventProcessor proprietaria dell'elaborazione di una determinata partizione da un gruppo di consumer di un'istanza di Hub eventi.

Nota: viene usata internamente dal EventProcessor e l'utente non deve mai crearlo 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 funzione processEvents per elaborare gli eventi ricevuti da un hub eventi quando si usa il 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 metodo sendBatch nel 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 usato per annullare l'operazione di invio.
SubscribeOptions

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

Subscription

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

SubscriptionEventHandlers

Interfaccia che descrive le funzioni da implementare dall'utente che vengono richiamate dal EventHubConsumerClient quando viene chiamato il metodo subscribe() 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 metodo tryAdd nella classe EventDataBatch.

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 subito 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 metodo subscribe().

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 interrompere 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 la stringa di connessione specificata nelle diverse proprietà applicabili a Hub eventi di Azure. Le proprietà sono utili per costruire quindi un 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 di eventi in grado di produrre e utilizzare i dati degli eventi

parseEventHubConnectionString(string)

Analizza la stringa di connessione specificata nelle diverse proprietà applicabili a Hub eventi di Azure. Le proprietà sono utili per costruire quindi un EventHubProducerClient o EventHubConsumerClient.

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

Parametri

connectionString

string

Stringa di connessione associata ai criteri di accesso condiviso creati per lo spazio dei nomi di Hub eventi.

Restituisce