Compartir a través de


@azure/event-hubs package

Clases

EventHubBufferedProducerClient

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

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 que maxWaitTimeInMs haya transcurrido sin nuevos eventos en cola.

Según las opciones especificadas cuando se ponen en cola los eventos, pueden asignarse 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á pensado para cambiar la carga de la administración por lotes de los autores de llamadas, a costa del tiempo no determinista, 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, los eventos del búfer no se habrán publicado. 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 onSendEventsSuccessHandler controladores 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, 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 EventHubProducerClient .

EventHubConsumerClient

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

Hay varias maneras de crear una EventHubConsumerClient

  • Use el cadena de conexión de la directiva SAS creada para la instancia del centro de eventos.
  • Use el 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.net, y un objeto de credenciales.

Opcionalmente, también puede pasar:

  • Un contenedor de opciones para configurar la directiva de reintentos 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 reinicia 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 EventHubProducerClient clase se usa para enviar eventos a un centro de eventos.

Hay varias maneras de crear una EventHubProducerClient

  • Use el cadena de conexión de la directiva SAS creada para la instancia del centro de eventos.
  • Use el 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.net, y un objeto de credenciales.

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

MessagingError

Describe la clase base de Error de mensajería.

Interfaces

BufferedCloseOptions

Opciones para configurar el close método en .EventHubBufferedProducerClient

BufferedFlushOptions

Opciones para configurar el flush método en .EventHubBufferedProducerClient

Checkpoint

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

Cuando el updateCheckpoint() usuario llama al método en la PartitionProcessor clase , se crea un elemento 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 ellos. 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 un CheckpointStore. Se espera que los usuarios elijan implementaciones existentes de esta interfaz, cree una instancia de ella y pásela al EventHubConsumerClient constructor de clase 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, que el cliente usa internamente.

Las implementaciones de CheckpointStore se pueden encontrar en npm mediante la búsqueda de paquetes con el prefijo @azure/eventhub-checkpointstore-.

CreateBatchOptions

Opciones para configurar el createBatch método en .EventHubProducerClient

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

Ejemplo de uso:

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

Opciones para configurar el enqueueEvents método en .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 .EventHubProducerClient Por ejemplo, { body: "your-data" } o

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

Parámetros de la createEventDataAdapter función 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 createBatch() método en .EventHubProducerClient Para enviar el lote, use el sendBatch() método en el mismo cliente. Para rellenar el lote, use el tryAdd() método en el propio lote.

EventHubBufferedProducerClientOptions

Describe las opciones que se pueden proporcionar al crear .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 de Websocket al elegir 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: retraso máximo entre reintentos. Solo es aplicable cuando se realizan reintentos exponenciales.
    • mode: el modo de reintento que se va a aplicar, especificado por la RetryMode enumeración . Las opciones son Exponential y Fixed. Tiene como valor predeterminado Fixed.
    • retryDelayInMs: cantidad de tiempo que se debe esperar en milisegundos antes de realizar el siguiente intento. Cuando mode se establece Exponentialen , se usa para calcular los retrasos crecientes exponencialmente entre reintentos. Valor predeterminado: 30000 milisegundos.
    • timeoutInMs: cantidad de tiempo en milisegundos que se esperará 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 }.

Ejemplo de uso:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

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

EventHubConsumerClientOptions

Describe las opciones que se pueden proporcionar al crear EventHubConsumerClient.

  • loadBalancingOptions: opciones para ajustar la forma en que las particiones de notificaciones 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 de Websocket al elegir 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: retraso máximo entre reintentos. Solo es aplicable cuando se realizan reintentos exponenciales.
    • mode: el modo de reintento que se va a aplicar, especificado por la RetryMode enumeración . Las opciones son Exponential y Fixed. Tiene como valor predeterminado Fixed.
    • retryDelayInMs: cantidad de tiempo que se debe esperar en milisegundos antes de realizar el siguiente intento. Cuando mode se establece Exponentialen , se usa para calcular los retrasos crecientes exponencialmente entre reintentos. Valor predeterminado: 30000 milisegundos.
    • timeoutInMs: cantidad de tiempo en milisegundos que se esperará 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 }.

Ejemplo de uso:

{
    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 subscribe() método en para EventHubConsumerClient 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 : una implementación de la AbortSignalLike interfaz para indicar la solicitud para cancelar la operación.
  • parentSpan Span: o SpanContext que se va a usar como del parent intervalo creado al llamar a esta operación.
GetPartitionIdsOptions

Conjunto de opciones para configurar el comportamiento de getPartitionIds.

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

Conjunto de opciones para configurar el comportamiento de getPartitionProperties.

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

Un conjunto de información sobre el último evento en cola de una partición, tal y como observa el consumidor como eventos se reciben del servicio Event Hubs.

LoadBalancingOptions

Un 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 de 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 controlar.

PartitionOwnership

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

Nota: El EventProcessor usuario y nunca tiene que crearlo 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 processEvents función para procesar los eventos recibidos de un centro de eventos al usar .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 sendBatch método en al EventHubProducerClient enviar una matriz de eventos. Si partitionId se establece, partitionKey no se debe establecer y viceversa.

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

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

Subscription

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

SubscriptionEventHandlers

Interfaz que describe las funciones que va a implementar el usuario que invoca EventHubConsumerClient cuando se llama al subscribe() método 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 tryAdd método en la EventDataBatch clase .

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 web Sockets.

Alias de tipos

ProcessCloseHandler

Firma de la función proporcionada por el usuario invocada justo EventHubConsumerClient 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 pasadas al subscribe() método .

ProcessEventsHandler

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

ProcessInitializeHandler

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

Enumeraciones

CloseReason

Enumeración que representa las diferentes razones para EventHubConsumerClient 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 los cadena de conexión dados en las diferentes propiedades aplicables a Azure Event Hubs. Las propiedades son útiles para construir eventHubProducerClient o 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 los cadena de conexión dados en las diferentes propiedades aplicables a Azure Event Hubs. Las propiedades son útiles para construir eventHubProducerClient o eventHubConsumerClient.

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

Parámetros

connectionString

string

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

Devoluciones