EventHubProducerClient Clase

Definición

Un cliente responsable de publicar EventData en un centro de eventos específico, agrupado juntos en lotes. Dependiendo de las opciones especificadas al enviar, los eventos se pueden asignar automáticamente a una partición disponible o pueden solicitar una partición específica.

El EventHubProducerClient se publica inmediatamente, lo que garantiza un resultado determinista para cada operación de envío, aunque requiere que los autores de llamadas tengan la responsabilidad de crear y administrar lotes.

En escenarios en los que no es importante que los eventos se publiquen inmediatamente y donde la maximización de la disponibilidad de particiones no sea un requisito, se recomienda considerar el uso EventHubBufferedProducerClientde , que asume la responsabilidad de compilar y administrar lotes para reducir la complejidad de hacerlo en el código de la aplicación.

public class EventHubProducerClient : IAsyncDisposable
type EventHubProducerClient = class
    interface IAsyncDisposable
Public Class EventHubProducerClient
Implements IAsyncDisposable
Herencia
EventHubProducerClient
Implementaciones

Comentarios

Se recomienda permitir la asignación de particiones cuando:

  • El envío de eventos debe ser de alta disponibilidad.
  • Los datos del evento deben distribuirse uniformemente entre todas las particiones disponibles.

Si no se especifica ninguna partición, se usan las reglas siguientes para seleccionar automáticamente una:

  1. Distribuya los eventos de forma equitativa entre todas las particiones disponibles mediante un enfoque round robin.
  2. Si una partición deja de estar disponible, el servicio Event Hubs lo detectará automáticamente y reenviará el mensaje a otra partición disponible.

EventHubProducerClient es seguro almacenar en caché y usar durante la vigencia de una aplicación, que es el procedimiento recomendado cuando la aplicación publica eventos periódicamente o semi-regularmente. El productor es responsable de garantizar un uso eficaz de la red, la CPU y la memoria. CloseAsync(CancellationToken) Al llamar a o DisposeAsync() a medida que se apaga la aplicación, se asegurará de que los recursos de red y otros objetos no administrados se limpien correctamente.

Constructores

EventHubProducerClient()

Inicializa una nueva instancia de la clase EventHubProducerClient.

EventHubProducerClient(EventHubConnection, EventHubProducerClientOptions)

Inicializa una nueva instancia de la clase EventHubProducerClient.

EventHubProducerClient(String)

Inicializa una nueva instancia de la clase EventHubProducerClient.

EventHubProducerClient(String, EventHubProducerClientOptions)

Inicializa una nueva instancia de la clase EventHubProducerClient.

EventHubProducerClient(String, String)

Inicializa una nueva instancia de la clase EventHubProducerClient.

EventHubProducerClient(String, String, AzureNamedKeyCredential, EventHubProducerClientOptions)

Inicializa una nueva instancia de la clase EventHubProducerClient.

EventHubProducerClient(String, String, AzureSasCredential, EventHubProducerClientOptions)

Inicializa una nueva instancia de la clase EventHubProducerClient.

EventHubProducerClient(String, String, EventHubProducerClientOptions)

Inicializa una nueva instancia de la clase EventHubProducerClient.

EventHubProducerClient(String, String, TokenCredential, EventHubProducerClientOptions)

Inicializa una nueva instancia de la clase EventHubProducerClient.

Propiedades

EventHubName

Nombre del centro de eventos al que está conectado el productor, específico del espacio de nombres de Event Hubs que lo contiene.

FullyQualifiedNamespace

Espacio de nombres completo de Event Hubs al que está asociado el productor. Es probable que sea similar a {yournamespace}.servicebus.windows.net.

Identifier

Nombre único que se usa para identificar a este productor.

IsClosed

Indica si se ha cerrado o no.EventHubProducerClient

Métodos

CloseAsync(CancellationToken)

Cierra el productor.

CreateBatchAsync(CancellationToken)

Crea un lote de restricción de tamaño al que EventData se puede agregar mediante un patrón basado en prueba. Si un evento superaría el tamaño máximo permitido del lote, el lote no permitirá agregar el evento y indicar ese escenario con su valor devuelto.

Dado que los eventos que infringían la restricción de tamaño no se pueden agregar, la publicación de un lote no desencadenará una excepción al intentar enviar los eventos al servicio Event Hubs.

CreateBatchAsync(CreateBatchOptions, CancellationToken)

Crea un lote de restricción de tamaño al que EventData se puede agregar mediante un patrón basado en prueba. Si un evento superaría el tamaño máximo permitido del lote, el lote no permitirá agregar el evento y indicar ese escenario con su valor devuelto.

Dado que los eventos que infringían la restricción de tamaño no se pueden agregar, la publicación de un lote no desencadenará una excepción al intentar enviar los eventos al servicio Event Hubs.

DisposeAsync()

Realiza la tarea necesaria para limpiar los recursos utilizados por , EventHubProducerClientincluida la garantía de que se ha cerrado el propio cliente.

GetEventHubPropertiesAsync(CancellationToken)

Recupera información sobre el centro de eventos al que está asociada la conexión, incluido el número de particiones presentes y sus identificadores.

GetPartitionIdsAsync(CancellationToken)

Recupera el conjunto de identificadores de las particiones de un centro de eventos.

GetPartitionPropertiesAsync(String, CancellationToken)

Recupera información sobre una partición específica para un centro de eventos, incluidos los elementos que describen los eventos disponibles en el flujo de eventos de partición.

SendAsync(EventDataBatch, CancellationToken)

Envía un conjunto de eventos al centro de eventos asociado mediante un enfoque por lotes.

SendAsync(IEnumerable<EventData>, CancellationToken)

Envía un conjunto de eventos al centro de eventos asociado como una sola operación. Para evitar la sobrecarga asociada a medir y validar el tamaño en el cliente, la validación se delegará en el servicio Event Hubs y se aplazará hasta que se invoque la operación. Se producirá un error en la llamada si el tamaño del conjunto de eventos especificado supera el tamaño máximo permitido de un único lote.

SendAsync(IEnumerable<EventData>, SendEventOptions, CancellationToken)

Envía un conjunto de eventos al centro de eventos asociado como una sola operación. Para evitar la sobrecarga asociada a medir y validar el tamaño en el cliente, la validación se delegará en el servicio Event Hubs y se aplazará hasta que se invoque la operación. Se producirá un error en la llamada si el tamaño del conjunto de eventos especificado supera el tamaño máximo permitido de un único lote.

Se aplica a

Consulte también