Compartir a través de


@azure/event-hubs package

Clases

EventHubBufferedProducerClient

El EventHubBufferedProducerClientse usa para publicar eventos en un centro de eventos específico.

El EventHubBufferedProducerClient no publica eventos inmediatamente. En su lugar, los eventos se almacenan en búfer para que se puedan procesar por lotes y publicarse de forma eficaz cuando el lote esté lleno o el maxWaitTimeInMs haya transcurrido sin nuevos eventos en cola.

Dependiendo de las opciones especificadas cuando se pone en cola los eventos, se pueden asignar automáticamente a una partición, agruparse según la clave de partición especificada o asignar una partición solicitada específicamente.

Este modelo está diseñado para desplazar la carga de la administración por lotes de los autores de llamadas, a costa de los tiempos no deterministas, para cuando se publiquen los eventos. Hay ventajas y desventajas adicionales que se deben tener en cuenta, así como:

  • Si la aplicación se bloquea, no se publicarán los eventos del búfer. Para evitar la pérdida de datos, se recomienda a los autores de llamadas realizar un seguimiento del progreso de la publicación mediante los controladores de onSendEventsSuccessHandler y onSendEventsErrorHandler.
  • Los eventos que especifican una clave de partición se pueden asignar a una partición diferente de las que usan la misma clave con otros productores.
  • En el improbable caso de que una partición deje de estar disponible temporalmente, el EventHubBufferedProducerClient puede tardar más tiempo en recuperarse que otros productores.

En escenarios en los que es importante que los eventos se publiquen inmediatamente con un resultado determinista, asegúrese de que las claves de partición se asignan a una partición coherente con otros publicadores o donde maximizar la disponibilidad es un requisito, se recomienda usar el EventHubProducerClient.

EventHubConsumerClient

La clase EventHubConsumerClient se usa para consumir eventos de un centro de eventos.

Hay varias maneras de crear una EventHubConsumerClient

  • Use la cadena de conexión de la directiva SAS creada para la instancia del centro de eventos.
  • Use la cadena de conexión de la directiva SAS creada para el espacio de nombres del centro de eventos y el nombre de la instancia del centro de eventos.
  • Use el espacio de nombres completo como <yournamespace>.servicebus.windows.nety un objeto credentials.

Opcionalmente, también puede pasar:

  • Contenedor de opciones para configurar la directiva de reintento o la configuración del proxy.
  • Almacén de puntos de control que usa el cliente para leer puntos de control para determinar la posición desde donde debe reanudar la recepción de eventos cuando se reinicie la aplicación. El cliente también usa el almacén de puntos de control para equilibrar la carga de varias instancias de la aplicación.
EventHubProducerClient

La clase EventHubProducerClient se usa para enviar eventos a un centro de eventos.

Hay varias maneras de crear una EventHubProducerClient

  • Use la cadena de conexión de la directiva SAS creada para la instancia del centro de eventos.
  • Use la cadena de conexión de la directiva SAS creada para el espacio de nombres del centro de eventos y el nombre de la instancia del centro de eventos.
  • Use el espacio de nombres completo como <yournamespace>.servicebus.windows.nety un objeto credentials.

Opcionalmente, también puede pasar un contenedor de opciones para configurar la directiva de reintento o la configuración de proxy.

MessagingError

Describe la clase base para Error de mensajería.

Interfaces

BufferedCloseOptions

Opciones para configurar el método close en el EventHubBufferedProducerClient.

BufferedFlushOptions

Opciones para configurar el método flush en el EventHubBufferedProducerClient.

Checkpoint

Un punto de control está diseñado para representar el último evento procesado correctamente por el usuario de una partición determinada de un grupo de consumidores en una instancia del Centro de eventos.

Cuando el usuario llama al método updateCheckpoint() en la clase PartitionProcessor, se crea un Checkpoint internamente. A continuación, se almacena en la solución de almacenamiento implementada por el CheckpointManager elegido por el usuario al crear un EventProcessor.

Nunca se espera que los usuarios interactúen directamente con Checkpoint. Esta interfaz existe para admitir los trabajos internos de EventProcessor y CheckpointManager.

CheckpointStore

Un almacén de puntos de control almacena y recupera información de propiedad de partición y detalles de punto de control para cada partición de un grupo de consumidores determinado de una instancia del centro de eventos.

Los usuarios no están diseñados para implementar una CheckpointStore. Se espera que los usuarios elijan implementaciones existentes de esta interfaz, cree una instancia de ella y la pase al constructor de clase EventHubConsumerClient al crear una instancia de un cliente. No se espera que los usuarios usen ninguno de los métodos de un almacén de puntos de control; el cliente los usa internamente.

Las implementaciones de CheckpointStore se pueden encontrar en npm buscando paquetes con el prefijo @azure/eventhub-checkpointstore-.

CreateBatchOptions

Opciones para configurar el método createBatch en el EventHubProducerClient.

  • partitionKey: valor hash para generar una asignación de partición.
  • maxSizeInBytes: límite superior del tamaño del lote.
  • abortSignal : una señal de la solicitud para cancelar la operación de envío.

Uso de ejemplo:

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

Opciones para configurar el método enqueueEvents en el EventHubBufferedProducerClient.

EventData

Interfaz que describe los datos que se van a enviar al centro de eventos. Úselo como referencia al crear el objeto que se va a enviar al usar el EventHubProducerClient. Por ejemplo, { body: "your-data" } o

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

Parámetros de la función createEventDataAdapter que crea un adaptador de datos de eventos.

EventDataBatch

Interfaz que representa un lote de eventos que se pueden usar para enviar eventos al centro de eventos.

Para crear el lote, use el método createBatch() en el EventHubProducerClient. Para enviar el lote, use el método sendBatch() en el mismo cliente. Para rellenar el lote, use el método tryAdd() en el propio lote.

EventHubBufferedProducerClientOptions

Describe las opciones que se pueden proporcionar al crear el EventHubBufferedProducerClient.

EventHubClientOptions

Describe las opciones que se pueden proporcionar al crear EventHubClient.

  • userAgent : una cadena que se va a anexar a la cadena del agente de usuario integrada que se pasa como una propiedad de conexión al servicio.
  • webSocketOptions: opciones para configurar el canalización de la conexión AMQP a través de sockets web.
    • websocket : el constructor WebSocket que se usa para crear una conexión AMQP si decide realizar la conexión a través de un WebSocket.
    • webSocketConstructorOptions: opciones para pasar al constructor Websocket cuando se decide establecer la conexión a través de Un WebSocket.
  • retryOptions: las opciones de reintento para todas las operaciones del cliente, productor o consumidor.
    • maxRetries: número de veces que se puede reintentar la operación en caso de un error que se puede reintentar.
    • maxRetryDelayInMs: el retraso máximo entre reintentos. Solo es aplicable al realizar reintentos exponenciales.
    • mode: el modo de reintento que se va a aplicar, especificado por la enumeración RetryMode. Las opciones son Exponential y Fixed. El valor predeterminado es Fixed.
    • retryDelayInMs: cantidad de tiempo de espera en milisegundos antes de realizar el siguiente intento. Cuando mode se establece en Exponential, se usa para calcular los retrasos que aumentan exponencialmente entre reintentos. Valor predeterminado: 30000 milisegundos.
    • timeoutInMs: cantidad de tiempo en milisegundos que se esperarán antes de que se agote el tiempo de espera de la operación. Esto desencadenará un reintento si quedan intentos de reintento. Valor predeterminado: 60000 milisegundos.

Un uso simple puede ser { "maxRetries": 4 }.

Uso de ejemplo:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

Conjunto de propiedades que componen una cadena de conexión del centro de eventos.

EventHubConsumerClientOptions

Describe las opciones que se pueden proporcionar al crear EventHubConsumerClient.

  • loadBalancingOptions: opciones para ajustar la forma en que las particiones de notificaciones de EventHubConsumerClient.
  • userAgent : una cadena que se va a anexar a la cadena del agente de usuario integrada que se pasa como una propiedad de conexión al servicio.
  • webSocketOptions: opciones para configurar el canalización de la conexión AMQP a través de sockets web.
    • websocket : el constructor WebSocket que se usa para crear una conexión AMQP si decide realizar la conexión a través de un WebSocket.
    • webSocketConstructorOptions: opciones para pasar al constructor Websocket cuando se decide establecer la conexión a través de Un WebSocket.
  • retryOptions: las opciones de reintento para todas las operaciones del cliente, productor o consumidor.
    • maxRetries: número de veces que se puede reintentar la operación en caso de un error que se puede reintentar.
    • maxRetryDelayInMs: el retraso máximo entre reintentos. Solo es aplicable al realizar reintentos exponenciales.
    • mode: el modo de reintento que se va a aplicar, especificado por la enumeración RetryMode. Las opciones son Exponential y Fixed. El valor predeterminado es Fixed.
    • retryDelayInMs: cantidad de tiempo de espera en milisegundos antes de realizar el siguiente intento. Cuando mode se establece en Exponential, se usa para calcular los retrasos que aumentan exponencialmente entre reintentos. Valor predeterminado: 30000 milisegundos.
    • timeoutInMs: cantidad de tiempo en milisegundos que se esperarán antes de que se agote el tiempo de espera de la operación. Esto desencadenará un reintento si quedan intentos de reintento. Valor predeterminado: 60000 milisegundos.

Un uso simple puede ser { "maxRetries": 4 }.

Uso de ejemplo:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

Describe la información en tiempo de ejecución de un centro de eventos.

EventPosition

Representa la posición de un evento en una partición del centro de eventos, que normalmente se usa al llamar al método subscribe() en un EventHubConsumerClient para especificar la posición en la partición desde la que empezar a recibir eventos.

Para obtener una EventPosition que represente el inicio o el final de la secuencia, use las constantes earliestEventPosition y latestEventPosition respectivamente.

GetEventHubPropertiesOptions

Conjunto de opciones para configurar el comportamiento de getEventHubProperties.

  • abortSignal: implementación de la interfaz AbortSignalLike para indicar la solicitud de cancelación de la operación.
  • parentSpan: el Span o SpanContext que se va a usar como parent del intervalo creado al llamar a esta operación.
GetPartitionIdsOptions

Conjunto de opciones para configurar el comportamiento de getPartitionIds.

  • abortSignal: implementación de la interfaz AbortSignalLike para indicar la solicitud de cancelación de la operación.
  • parentSpan: el Span o SpanContext que se va a usar como parent del intervalo creado al llamar a esta operación.
GetPartitionPropertiesOptions

Conjunto de opciones para configurar el comportamiento de getPartitionProperties.

  • abortSignal: implementación de la interfaz AbortSignalLike para indicar la solicitud de cancelación de la operación.
  • parentSpan: el Span o SpanContext que se va a usar como parent del intervalo creado al llamar a esta operación.
LastEnqueuedEventProperties

Conjunto de información sobre el último evento en cola de una partición, tal como lo observa el consumidor a medida que se reciben eventos del servicio Event Hubs.

LoadBalancingOptions

Contenedor de opciones para configurar los valores de equilibrio de carga.

OnSendEventsErrorContext

Contiene los eventos que no se enviaron correctamente al centro de eventos, la partición a la que se asignaron y el error que se encontró al enviar.

OnSendEventsSuccessContext

Contiene los eventos que se enviaron correctamente al centro de eventos y la partición a la que se asignaron.

OperationOptions

Opciones para configurar el seguimiento y abortSignal.

PartitionContext

Interfaz que describe el contexto pasado a cada una de las funciones que forman parte del SubscriptionEventHandlers. Al implementar cualquiera de estas funciones, use el objeto de contexto para obtener información sobre la partición, así como la capacidad de realizar puntos de control.

PartitionOwnership

Interfaz que representa los detalles sobre qué instancia de un EventProcessor posee el procesamiento de una partición determinada de un grupo de consumidores de una instancia de Event Hubs.

Nota: la EventProcessor usa internamente y el usuario nunca tiene que crearla directamente.

PartitionProperties

Describe la información en tiempo de ejecución de una partición de EventHub.

ReceivedEventData

Interfaz que describe la estructura del evento recibido del centro de eventos. Úselo como referencia al crear la función processEvents para procesar los eventos recibidos de un centro de eventos al usar el EventHubConsumerClient.

RetryOptions

Opciones de directiva de reintento que determinan el modo, el número de reintentos, el intervalo de reintento, etc.

SendBatchOptions

Opciones para configurar el método sendBatch en el EventHubProducerClient al enviar una matriz de eventos. Si se establece partitionId, partitionKey no debe establecerse ni viceversa.

  • partitionId : la partición a la que se enviará este lote.
  • partitionKey: valor hash para generar una asignación de partición.
  • abortSignal: una señal que se usa para cancelar la operación de envío.
SubscribeOptions

Opciones para configurar el método subscribe en el EventHubConsumerClient. Por ejemplo, { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

Interfaz que describe el objeto devuelto por el método subscribe() en el EventHubConsumerClient.

SubscriptionEventHandlers

Interfaz que describe las funciones que va a implementar el usuario que invoca el EventHubConsumerClient cuando se llama al método subscribe() para recibir eventos del Centro de eventos.

TokenCredential

Representa una credencial capaz de proporcionar un token de autenticación.

TryAddOptions

Opciones para configurar el comportamiento del método tryAdd en la clase EventDataBatch.

WebSocketImpl

Describe la forma necesaria de los constructores de WebSocket.

WebSocketOptions

Opciones para configurar el canalización de la conexión AMQP a través de sockets web.

Alias de tipos

ProcessCloseHandler

Firma de la función proporcionada por el usuario invocada por EventHubConsumerClient justo después de detener para recibir eventos de una partición.

ProcessErrorHandler

Firma de la función proporcionada por el usuario invocada por EventHubConsumerClient para los errores que se producen al recibir eventos o al ejecutar cualquiera de las funciones proporcionadas por el usuario que se pasan al método subscribe().

ProcessEventsHandler

Firma de la función proporcionada por el usuario invocada por EventHubConsumerClient cuando se recibe un conjunto de eventos.

ProcessInitializeHandler

Firma de la función proporcionada por el usuario invocada por EventHubConsumerClient justo antes de empezar a recibir eventos de una partición.

Enumeraciones

CloseReason

Enumeración que representa las distintas razones de un EventHubConsumerClient para detener el procesamiento de eventos de una partición en un grupo de consumidores de un centro de eventos.

RetryMode

Describe el tipo modo de reintento.

Funciones

createEventDataAdapter(EventDataAdapterParameters)

Función que construye un adaptador de datos de eventos. Ese adaptador se puede usar con @azure/schema-registry-avro para codificar y descodificar el cuerpo en los datos de eventos.

parseEventHubConnectionString(string)

Analiza la cadena de conexión dada en las distintas propiedades aplicables a Azure Event Hubs. Las propiedades son útiles para construir un EventHubProducerClient o un EventHubConsumerClient.

Detalles de la función

createEventDataAdapter(EventDataAdapterParameters)

Función que construye un adaptador de datos de eventos. Ese adaptador se puede usar con @azure/schema-registry-avro para codificar y descodificar el cuerpo en los datos de eventos.

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

Parámetros

params
EventDataAdapterParameters

parámetros para crear los datos del evento

Devoluciones

MessageAdapter<EventData>

Un adaptador de datos de eventos que puede generar y consumir datos de eventos

parseEventHubConnectionString(string)

Analiza la cadena de conexión dada en las distintas propiedades aplicables a Azure Event Hubs. Las propiedades son útiles para construir un EventHubProducerClient o un EventHubConsumerClient.

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

Parámetros

connectionString

string

Cadena de conexión asociada a la directiva de acceso compartido creada para el espacio de nombres de Event Hubs.

Devoluciones