Condividi tramite


@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 inseriti in batch ed essere pubblicati in modo efficiente quando il batch è pieno o che è 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 in modo specifico.

Questo modello è progettato per spostare il carico di lavoro 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 avanzamento della pubblicazione usando i onSendEventsSuccessHandler gestori 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, l'operazione EventHubBufferedProducerClient potrebbe richiedere più tempo rispetto ad altri produttori.

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 server di pubblicazione o in cui la massima disponibilità sia un requisito, usando EventHubProducerClient è consigliabile.

EventHubConsumerClient

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

Esistono diversi modi per creare un EventHubConsumerClient

  • Usare il stringa di connessione dai criteri di firma di accesso condiviso creati per l'istanza dell'hub eventi.
  • Usare il stringa di connessione dal 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, ad esempio <yournamespace>.servicebus.windows.net, e 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 EventHubProducerClient classe viene usata per inviare eventi a un hub eventi.

Esistono diversi modi per creare un EventHubProducerClient

  • Usare il stringa di connessione dai criteri di firma di accesso condiviso creati per l'istanza dell'hub eventi.
  • Usare il stringa di connessione dal 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, 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 è progettato per rappresentare l'ultimo evento elaborato correttamente 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 archiviata nella soluzione di archiviazione implementata dall'oggetto CheckpointManager scelto dall'utente durante la creazione di un oggetto EventProcessor.

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

  • partitionKey : valore con hash 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 EventHubBufferedProducerClient.

EventData

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

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

Parametri per la createEventDataAdapter funzione 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 createBatch() metodo su EventHubProducerClient. Per inviare il batch, usare il sendBatch() metodo nello stesso client. Per riempire il batch, usare il tryAdd() metodo sul batch stesso.

EventHubBufferedProducerClientOptions

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

EventHubClientOptions

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

  • userAgent : stringa da aggiungere alla stringa dell'agente utente predefinita 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 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: quantità di 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: intervallo di tempo in millisecondi di attesa prima del timeout dell'operazione. 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 hub eventi stringa di connessione.

EventHubConsumerClientOptions

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

  • loadBalancingOptions: opzioni per ottimizzare la modalità di partizione delle attestazioni EventHubConsumerClient.
  • userAgent : stringa da aggiungere alla stringa dell'agente utente predefinita 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 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: quantità di 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: intervallo di tempo in millisecondi di attesa prima del timeout dell'operazione. 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 in un EventHubConsumerClient oggetto 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 annullare l'operazione.
  • parentSpan : oggetto Span o SpanContext da usare come oggetto dell'intervallo parent creato durante la chiamata di 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 : oggetto Span o SpanContext da usare come oggetto dell'intervallo parent creato durante la chiamata di 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 : oggetto Span o SpanContext da usare come oggetto dell'intervallo parent creato durante la chiamata di questa operazione.
LastEnqueuedEventProperties

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

LoadBalancingOptions

Un contenitore di opzioni per configurare le impostazioni di bilanciamento del carico.

OnSendEventsErrorContext

Contiene gli eventi che non sono stati inviati correttamente all'hub eventi, la partizione assegnata a 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 checkpoint.

PartitionOwnership

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

Nota: questo viene usato internamente dall'utente EventProcessor e non deve mai crearlo direttamente.

PartitionProperties

Descrive le informazioni di runtime di una partizione EventHub.

ReceivedEventData

Interfaccia che descrive la struttura dell'evento ricevuto da Hub eventi. Usare questo 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 metodo nell'oggetto durante l'invio sendBatchEventHubProducerClient di una matrice di eventi. Se partitionId è impostato, partitionKey non deve essere impostato e viceversa.

  • partitionId : la partizione a cui verrà inviato questo batch.
  • partitionKey : valore hashed per produrre un'assegnazione di partizione.
  • abortSignal : segnale usato 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 subscribe() restituito dal metodo in EventHubConsumerClient.

SubscriptionEventHandlers

Interfaccia che descrive le funzioni da implementare dall'utente richiamato dal EventHubConsumerClient metodo quando viene subscribe() chiamato per ricevere eventi da 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 necessaria dei costruttori WebSocket.

WebSocketOptions

Opzioni per configurare il canale della connessione AMQP su Web Sockets.

Alias tipo

ProcessCloseHandler

Firma dell'utente fornito funzione richiamata da EventHubConsumerClient appena dopo l'arresto per ricevere eventi da una partizione.

ProcessErrorHandler

Firma dell'utente fornito funzione richiamata da EventHubConsumerClient per gli errori che si verificano quando si ricevono eventi o quando si esegue una delle funzioni fornite dall'utente passato al subscribe() metodo.

ProcessEventsHandler

Firma dell'utente specificato funzione richiamata da EventHubConsumerClient quando viene ricevuto un set di eventi.

ProcessInitializeHandler

Firma dell'utente fornito funzione 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 interrompe l'elaborazione di eventi da una partizione in un gruppo di consumer di un hub eventi.

RetryMode

Descrive il tipo di modalità tentativi

Funzioni

createEventDataAdapter(EventDataAdapterParameters)

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

parseEventHubConnectionString(string)

Analizza stringa di connessione nelle diverse proprietà applicabili alle Hub eventi di Azure. Le proprietà sono utili per creare quindi eventHubProducerClient o EventHubConsumerClient.

Dettagli funzione

createEventDataAdapter(EventDataAdapterParameters)

Funzione che costruisce un adattatore dati 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>

Scheda dati dell'evento che può produrre e utilizzare i dati dell'evento

parseEventHubConnectionString(string)

Analizza stringa di connessione nelle diverse proprietà applicabili alle Hub eventi di Azure. Le proprietà sono utili per creare 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 Hub eventi.

Restituisce