EventHubClient Clase

Definición

Clase Anchor: todas las operaciones de cliente de EventHub se inician aquí. Vea CreateFromConnectionString(String).

public abstract class EventHubClient : Microsoft.Azure.EventHubs.ClientEntity
type EventHubClient = class
    inherit ClientEntity
Public MustInherit Class EventHubClient
Inherits ClientEntity
Herencia
EventHubClient

Propiedades

ClientId

Obtiene el identificador de cliente.

(Heredado de ClientEntity)
EnableReceiverRuntimeMetric

Obtiene o establece un valor que indica si la métrica en tiempo de ejecución de un receptor está habilitada.

EventHubName

Obtiene el nombre de EventHub.

IsClosed

Devuelve un valor booleano que representa si el objeto de cliente está cerrado o no.

(Heredado de ClientEntity)
RegisteredPlugins

Obtiene una lista de complementos registrados actualmente para este cliente.

(Heredado de ClientEntity)
RetryPolicy

Obtiene para RetryPolicy ClientEntity.

(Heredado de ClientEntity)
WebProxy

Obtiene o establece el proxy web. Un proxy solo se aplica cuando el tipo de transporte se establece en AmqpWebSockets. Si no se establece, se respetará la configuración del proxy en todo el sistema.

Métodos

Close()

Cierra ClientEntity.

(Heredado de ClientEntity)
CloseAsync()

Cierra y libera los recursos asociados a EventHubClient.

Create(EventHubsConnectionStringBuilder)

Crea una nueva instancia del cliente de Event Hubs mediante el generador de cadenas de conexión especificado.

CreateBatch()

Crea un lote en el que se pueden agregar objetos de datos de eventos para una llamada posterior a SendAsync.

CreateBatch(BatchOptions)

Crea un lote en el que se pueden agregar objetos de datos de eventos para una llamada posterior a SendAsync.

CreateEpochReceiver(String, String, EventPosition, Int64, ReceiverOptions)

Cree un receptor eventHub basado en época con dado EventPosition. El receptor se crea para una partición de EventHub específica del grupo de consumidores específico.

Es importante prestar atención a lo siguiente al crear un receptor basado en épocas:

- Aplicación de la propiedad: una vez creado un receptor basado en épocas, no se puede crear un receptor que no sea de época en el mismo cuadro combinado consumerGroup-Partition hasta que se cierren todos los receptores del combo.

- Robo de propiedad: si se crea un receptor con un valor de época mayor para un combo consumerGroup-Partition, se forzará el cierre de cualquier receptor de época anterior a ese combo.

- Cualquier receptor cerrado debido a la pérdida de propiedad en un combo consumerGroup-Partition obtendrá ReceiverDisconnectedException para todas las operaciones de ese receptor.
CreateFromConnectionString(String)

Crea una nueva instancia del cliente de Event Hubs mediante la cadena de conexión especificada. Puede rellenar la propiedad EntityPath con el nombre del centro de eventos.

CreatePartitionSender(String)

Cree un PartitionSender objeto que pueda publicar EventDatadirectamente en una partición de EventHub específica (tipo de remitente iii. en la lista siguiente).

Hay tres patrones o formas de enviar a EventHubs:

i. SendAsync(EventData) o SendAsync(IEnumerable<EventData>)

ii. SendAsync(EventData, String) o SendAsync(IEnumerable<EventData>, String)

iii. SendAsync(EventData) o SendAsync(IEnumerable<EventData>)

CreateReceiver(String, String, EventPosition, ReceiverOptions)

Cree el receptor de EventHub con especificado EventPosition. El receptor se crea para una partición de EventHub específica del grupo de consumidores específico.

CreateWithAzureActiveDirectory(Uri, String, AzureActiveDirectoryTokenProvider+AuthenticationCallback, String, Nullable<TimeSpan>, TransportType)

Crea una nueva instancia de mediante la EventHubClient autenticación de Azure Active Directory.

CreateWithManagedIdentity(Uri, String, Nullable<TimeSpan>, TransportType)

Crea una nueva instancia de mediante la EventHubClient autenticación de identidad administrada de Azure.

CreateWithTokenProvider(Uri, String, ITokenProvider, Nullable<TimeSpan>, TransportType)

Crea una nueva instancia del cliente de Event Hubs mediante el punto de conexión, la ruta de acceso de entidad y el proveedor de tokens especificados.

GetPartitionRuntimeInformationAsync(String)

Recupera información en tiempo de ejecución para la partición especificada del centro de eventos.

GetRuntimeInformationAsync()

Recupera información del entorno de ejecución de EventHub.

OnCloseAsync()

Clase Anchor: todas las operaciones de cliente de EventHub se inician aquí. Vea CreateFromConnectionString(String).

OnCreateReceiver(String, String, EventPosition, Nullable<Int64>, ReceiverOptions)

Clase Anchor: todas las operaciones de cliente de EventHub se inician aquí. Vea CreateFromConnectionString(String).

OnGetPartitionRuntimeInformationAsync(String)

Clase Anchor: todas las operaciones de cliente de EventHub se inician aquí. Vea CreateFromConnectionString(String).

OnGetRuntimeInformationAsync()

Clase Anchor: todas las operaciones de cliente de EventHub se inician aquí. Vea CreateFromConnectionString(String).

OnRetryPolicyUpdate()

Controle las actualizaciones de directivas de reintento aquí.

RegisterPlugin(EventHubsPlugin)

Registra un EventHubsPlugin objeto que se va a usar con este cliente.

(Heredado de ClientEntity)
SendAsync(EventData)

Enviar EventData a EventHub. EventData enviado se colocará en cualquier partición de EventHubs elegida arbitrariamente.

Hay 3 maneras de enviar a EventHubs, cada uno expuesto como método (junto con su sobrecarga sendBatch):

i. SendAsync(EventData) o SendAsync(IEnumerable<EventData>)

ii. SendAsync(EventData, String) o SendAsync(IEnumerable<EventData>, String)

iii. SendAsync(EventData) o SendAsync(IEnumerable<EventData>)

Use este método para enviar si:

a) la SendAsync(EventData) operación debe ser de alta disponibilidad y

b) los datos deben distribuirse uniformemente entre todas las particiones; excepción, cuando un subconjunto de particiones no está disponible

SendAsync(EventData)EventData envía a una puerta de enlace de servicio, que a su vez reenvía EventData a una de las particiones de EventHub. Este es el algoritmo de reenvío de mensajes:

i. Reenvíe eventDatas a las particiones de EventHub, mediante la distribución equitativa de los datos entre todas las particiones (por ejemplo: Round robin eventDatas a todas las particiones de EventHub).

ii. Si una de las particiones de EventHub no está disponible por un momento, Service Gateway la detectará automáticamente y reenviará el mensaje a otra partición disponible, lo que hace que la operación de envío sea de alta disponibilidad.

SendAsync(EventData, String)

Envía un elemento "EventData con partitionKey a EventHub. Se garantiza que todo EventDatacon partitionKey se encuentra en la misma partición. Este patrón de envío resalta la correlación de datos sobre la disponibilidad y la latencia generales.

Hay 3 maneras de enviar a EventHubs, cada uno expuesto como un método (junto con su sobrecarga por lotes):

i. SendAsync(EventData) o SendAsync(IEnumerable<EventData>)

ii. SendAsync(EventData, String) o SendAsync(IEnumerable<EventData>, String)

iii. SendAsync(EventData) o SendAsync(IEnumerable<EventData>)

Use este tipo de envío si:

a) Hay una necesidad de correlación de eventos en función de la instancia del remitente; El remitente puede generar un UniqueId y establecerlo como partitionKey, que en el mensaje recibido se puede usar para la correlación.

b) El cliente quiere tomar el control de la distribución de datos entre particiones.

Se pueden asignar varias partitionKeys a una partición. El servicio EventHubs usa un algoritmo Hash propietario para asignar PartitionKey a un PartitionId. El uso de este tipo de envío (envío mediante una partitionKey específica) a veces podría dar lugar a particiones que no se distribuyen uniformemente.
SendAsync(EventDataBatch)

Envíe un lote de EventData en EventDataBatch.

SendAsync(IEnumerable<EventData>)

Envíe un lote de EventData a EventHub. EventData enviado llegará a cualquier partición de EventHub elegida arbitrariamente. Esta es la manera más recomendada de enviar a EventHub.

Hay 3 maneras de enviar a EventHubs, para comprender este tipo concreto de envío, haga referencia a la sobrecarga SendAsync(EventData), que se usa para enviar un solo EventData. Use esta sobrecarga si necesita enviar un lote de EventData.

Enviar un lote de EventData's es útil en los casos siguientes:

i. Envío eficaz: el envío de un lote de EventData maximiza el rendimiento general mediante el uso óptimo del número de sesiones creadas en el servicio de EventHub.

ii. Enviar varios EventDataen una transacción. Para recibir las propiedades ACID, el servicio de puerta de enlace reenviará todos los EventDataelementos del lote a una sola partición de EventHub.

SendAsync(IEnumerable<EventData>, String)

Envíe un "lote de EventData con la misma partitionKey" a EventHub. Se garantiza que todo EventDatacon partitionKey se encuentra en la misma partición. Varias partitionKey se asignarán a una partición.

Hay 3 maneras de enviar a EventHubs, para comprender este tipo concreto de envío, haga referencia a la sobrecarga SendAsync(EventData, String), que es el mismo tipo de envío y se usa para enviar un solo EventData.

Enviar un lote de EventData's es útil en los casos siguientes:

i. Envío eficaz: el envío de un lote de EventData maximiza el rendimiento general mediante el uso óptimo del número de sesiones creadas en el servicio EventHubs.

ii. Envío de varios eventos en una transacción. Este es el motivo por el que todos los eventos enviados en un lote deben tener la misma partitionKey (para que se envíen solo a una partición).

ThrowIfClosed()

Produce una excepción si el objeto de cliente ya está cerrado.

(Heredado de ClientEntity)
UnregisterPlugin(String)

Anula el registro de un EventHubsPluginobjeto .

(Heredado de ClientEntity)

Se aplica a