Compartir a través de


EventHubBufferedProducerClient class

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

no EventHubBufferedProducerClient publica eventos inmediatamente. En su lugar, los eventos se almacenan en búfer para que se puedan procesar por lotes y publicarse eficazmente cuando el lote esté lleno o maxWaitTimeInMs que 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á pensado para desplazar la carga de la administración por lotes de los autores de llamadas, a costa del tiempo no determinista, para cuándo se publicarán los eventos. Hay ventajas 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 .

Constructores

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient clase se usa para enviar eventos a un centro de eventos. Use el options parmeter para configurar la directiva de reintentos o la configuración del proxy.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient clase se usa para enviar eventos a un centro de eventos. Use el options parmeter para configurar la directiva de reintentos o la configuración del proxy.

EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient clase se usa para enviar eventos a un centro de eventos. Use el options parmeter para configurar la directiva de reintentos o la configuración del proxy.

Propiedades

eventHubName

Nombre de la instancia del centro de eventos para la que se crea este cliente.

fullyQualifiedNamespace

Espacio de nombres completo de la instancia del centro de eventos para la que se crea este cliente. Es probable que sea similar a .servicebus.windows.net.

identifier

Nombre que se usa para identificar este EventHubBufferedProducerClient. Si no se especifica o está vacío, se generará uno único aleatorio.

Métodos

close(BufferedCloseOptions)

Cierra la conexión AMQP a la instancia del centro de eventos y devuelve una promesa que se resolverá cuando se complete la desconexión.

Esto esperará a que los eventos en cola se vacíe en el servicio antes de cerrar la conexión. Para cerrar sin vaciar, establezca la flush opción en false.

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Pone en cola un evento en el búfer que se va a publicar en el centro de eventos. Si no hay capacidad en el búfer cuando se invoca este método, esperará a que haya espacio disponible y se asegurará de que el evento se haya puesto en cola.

Cuando se devuelve esta llamada, el evento se ha aceptado en el búfer, pero es posible que aún no se haya publicado. La publicación tendrá lugar en un punto no determinista en el futuro a medida que se procesa el búfer.

enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)

Pone en cola los eventos en el búfer que se van a publicar en el centro de eventos. Si no hay capacidad en el búfer cuando se invoca este método, esperará a que haya espacio disponible y se asegurará de que los eventos se hayan puesto en cola.

Cuando se devuelve esta llamada, los eventos se han aceptado en el búfer, pero es posible que aún no se hayan publicado. La publicación tendrá lugar en un punto no determinista en el futuro a medida que se procesa el búfer.

flush(BufferedFlushOptions)

Intenta publicar todos los eventos en el búfer inmediatamente. Esto puede dar lugar a que se publiquen varios lotes, el resultado de cada uno de los cuales se notificará individualmente por los onSendEventsSuccessHandler controladores y onSendEventsErrorHandler .

getEventHubProperties(GetEventHubPropertiesOptions)

Proporciona la información del entorno de ejecución del centro de eventos.

getPartitionIds(GetPartitionIdsOptions)

Proporciona el identificador de cada partición asociada al centro de eventos.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Proporciona información sobre el estado de la partición especificada.

Detalles del constructor

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient clase se usa para enviar eventos a un centro de eventos. Use el options parmeter para configurar la directiva de reintentos o la configuración del proxy.

new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)

Parámetros

connectionString

string

Cadena de conexión que se va a usar para conectarse a la instancia del centro de eventos. Se espera que las propiedades de clave compartida y la ruta de acceso del centro de eventos estén contenidas en esta cadena de conexión. Por ejemplo, "Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubBufferedProducerClientOptions

Conjunto de opciones que se aplicarán al configurar el cliente.

  • retryOptions : configura la directiva de reintento para todas las operaciones del cliente. Por ejemplo, { "maxRetries": 4 } o { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: configura el canalización de la conexión AMQP a través de web Sockets.
  • userAgent : una cadena que se va a anexar a la cadena del agente de usuario integrada que se pasa al servicio.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient clase se usa para enviar eventos a un centro de eventos. Use el options parmeter para configurar la directiva de reintentos o la configuración del proxy.

new EventHubBufferedProducerClient(connectionString: string, eventHubName: string, options: EventHubBufferedProducerClientOptions)

Parámetros

connectionString

string

Cadena de conexión que se va a usar para conectarse al espacio de nombres de Event Hubs. Se espera que las propiedades de clave compartidas estén contenidas en esta cadena de conexión, pero no en la ruta de acceso del centro de eventos, por ejemplo, "Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

Nombre del centro de eventos específico al que se va a conectar el cliente.

options
EventHubBufferedProducerClientOptions

Conjunto de opciones que se aplicarán al configurar el cliente.

  • retryOptions : configura la directiva de reintento para todas las operaciones del cliente. Por ejemplo, { "maxRetries": 4 } o { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: configura el canalización de la conexión AMQP a través de web Sockets.
  • userAgent : una cadena que se va a anexar a la cadena del agente de usuario integrada que se pasa al servicio.

EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient clase se usa para enviar eventos a un centro de eventos. Use el options parmeter para configurar la directiva de reintentos o la configuración del proxy.

new EventHubBufferedProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options: EventHubBufferedProducerClientOptions)

Parámetros

fullyQualifiedNamespace

string

El espacio de nombres completo que es probable que sea similar a .servicebus.windows.net

eventHubName

string

Nombre del centro de eventos específico al que se va a conectar el cliente.

credential

TokenCredential | NamedKeyCredential | SASCredential

Objeto de credencial usado por el cliente para obtener el token para autenticar la conexión con el servicio Azure Event Hubs. Consulte @azure/identity para crear credenciales que admitan la autenticación de AAD. Use from AzureNamedKeyCredential @azure/core-auth si desea pasar un SharedAccessKeyName elemento y SharedAccessKey sin usar una cadena de conexión. Estos campos se asignan al name campo y key respectivamente en AzureNamedKeyCredential. AzureSASCredential Use from @azure/core-auth si desea pasar un elemento SharedAccessSignature sin usar una cadena de conexión. Este campo se asigna a signature en AzureSASCredential.

options
EventHubBufferedProducerClientOptions

Conjunto de opciones que se aplicarán al configurar el cliente.

  • retryOptions : configura la directiva de reintentos para todas las operaciones del cliente. Por ejemplo, { "maxRetries": 4 } o { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: configura el canalización de la conexión AMQP a través de web Sockets.
  • userAgent : cadena que se va a anexar a la cadena del agente de usuario integrada que se pasa al servicio.

Detalles de las propiedades

eventHubName

Nombre de la instancia del centro de eventos para la que se crea este cliente.

string eventHubName

Valor de propiedad

string

fullyQualifiedNamespace

Espacio de nombres completo de la instancia del centro de eventos para la que se crea este cliente. Es probable que sea similar a .servicebus.windows.net.

string fullyQualifiedNamespace

Valor de propiedad

string

identifier

Nombre que se usa para identificar este EventHubBufferedProducerClient. Si no se especifica o está vacío, se generará uno único aleatorio.

identifier: string

Valor de propiedad

string

Detalles del método

close(BufferedCloseOptions)

Cierra la conexión AMQP a la instancia del centro de eventos y devuelve una promesa que se resolverá cuando se complete la desconexión.

Esto esperará a que los eventos en cola se vacíe en el servicio antes de cerrar la conexión. Para cerrar sin vaciar, establezca la flush opción en false.

function close(options?: BufferedCloseOptions): Promise<void>

Parámetros

options
BufferedCloseOptions

Conjunto de opciones que se aplicarán a la llamada a la operación.

Devoluciones

Promise<void>

Promesa

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Pone en cola un evento en el búfer que se va a publicar en el centro de eventos. Si no hay capacidad en el búfer cuando se invoca este método, esperará a que haya espacio disponible y se asegurará de que el evento se haya puesto en cola.

Cuando se devuelve esta llamada, el evento se ha aceptado en el búfer, pero es posible que aún no se haya publicado. La publicación tendrá lugar en un punto no determinista en el futuro a medida que se procesa el búfer.

function enqueueEvent(event: EventData | AmqpAnnotatedMessage, options?: EnqueueEventOptions): Promise<number>

Parámetros

options
EnqueueEventOptions

Conjunto de opciones que se pueden especificar para influir en la forma en que se envía el evento al centro de eventos asociado.

  • abortSignal : señal usada para cancelar la operación enqueueEvent.
  • partitionId : la partición a la que se enviará este conjunto de eventos. Si se establece, partitionKey no se puede establecer.
  • partitionKey : valor hash para generar una asignación de partición. Si se establece, partitionId no se puede establecer.

Devoluciones

Promise<number>

El número total de eventos que están almacenados en búfer y en espera de publicación, en todas las particiones.

enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)

Pone en cola los eventos en el búfer que se van a publicar en el centro de eventos. Si no hay capacidad en el búfer cuando se invoca este método, esperará a que haya espacio disponible y se asegurará de que los eventos se hayan puesto en cola.

Cuando se devuelve esta llamada, los eventos se han aceptado en el búfer, pero es posible que aún no se hayan publicado. La publicación tendrá lugar en un punto no determinista en el futuro a medida que se procesa el búfer.

function enqueueEvents(events: EventData[] | AmqpAnnotatedMessage[], options?: EnqueueEventOptions): Promise<number>

Parámetros

events

EventData[] | AmqpAnnotatedMessage[]

Matriz de EventData o AmqpAnnotatedMessage.

options
EnqueueEventOptions

Conjunto de opciones que se pueden especificar para influir en la forma en que se envían eventos al centro de eventos asociado.

  • abortSignal : señal usada para cancelar la operación en colaEvents.
  • partitionId : la partición a la que se enviará este conjunto de eventos. Si se establece, partitionKey no se puede establecer.
  • partitionKey : valor hash para generar una asignación de partición. Si se establece, partitionId no se puede establecer.

Devoluciones

Promise<number>

El número total de eventos que están almacenados en búfer y en espera de publicación, en todas las particiones.

flush(BufferedFlushOptions)

Intenta publicar todos los eventos en el búfer inmediatamente. Esto puede dar lugar a que se publiquen varios lotes, el resultado de cada uno de los cuales se notificará individualmente por los onSendEventsSuccessHandler controladores y onSendEventsErrorHandler .

function flush(options?: BufferedFlushOptions): Promise<void>

Parámetros

options
BufferedFlushOptions

Conjunto de opciones que se aplicarán a la llamada a la operación.

Devoluciones

Promise<void>

getEventHubProperties(GetEventHubPropertiesOptions)

Proporciona la información del entorno de ejecución del centro de eventos.

function getEventHubProperties(options?: GetEventHubPropertiesOptions): Promise<EventHubProperties>

Parámetros

options
GetEventHubPropertiesOptions

Conjunto de opciones que se aplicarán a la llamada a la operación.

Devoluciones

Promesa que se resuelve con información sobre la instancia del centro de eventos.

getPartitionIds(GetPartitionIdsOptions)

Proporciona el identificador de cada partición asociada al centro de eventos.

function getPartitionIds(options?: GetPartitionIdsOptions): Promise<string[]>

Parámetros

options
GetPartitionIdsOptions

Conjunto de opciones que se aplicarán a la llamada a la operación.

Devoluciones

Promise<string[]>

Promesa que se resuelve con una matriz de cadenas que representa el identificador de cada partición asociada al centro de eventos.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Proporciona información sobre el estado de la partición especificada.

function getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise<PartitionProperties>

Parámetros

partitionId

string

Identificador de la partición para la que se requiere información.

options
GetPartitionPropertiesOptions

Conjunto de opciones que se aplicarán a la llamada a la operación.

Devoluciones

Promesa que se resuelve con información sobre el estado de la partición .