EventHubConsumerClient class
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.net
y 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.
Constructores
Event |
La clase |
Event |
La clase |
Event |
La clase |
Event |
La clase |
Event |
La clase |
Event |
La clase |
Propiedades
default |
Nombre del grupo de consumidores predeterminado en el servicio Event Hubs. |
event |
Nombre de la instancia del centro de eventos para la que se crea este cliente. |
fully |
Espacio de nombres completo de la instancia del centro de eventos para la que se crea este cliente. Esto es probable que sea similar a .servicebus.windows.net. |
identifier | Nombre que se usa para identificar este EventHubConsumerClient. Si no se especifica o está vacío, se generará uno único aleatorio. |
Métodos
close() | 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. |
get |
Proporciona la información del entorno de ejecución del centro de eventos. |
get |
Proporciona el identificador de cada partición asociada al centro de eventos. |
get |
Proporciona información sobre el estado de la partición especificada. |
subscribe(string, Subscription |
Suscríbase a eventos desde una sola partición. Llame a close() en el objeto devuelto para dejar de recibir eventos. Uso de ejemplo:
|
subscribe(Subscription |
Suscríbase a eventos de todas las particiones. Si el almacén de puntos de control se proporciona a la Llame a close() en el objeto devuelto para dejar de recibir eventos. Uso de ejemplo:
|
Detalles del constructor
EventHubConsumerClient(string, string, CheckpointStore, EventHubConsumerClientOptions)
La clase EventHubConsumerClient
se usa para consumir eventos de un centro de eventos.
Use el options
parmeter para configurar la directiva de reintento o la configuración de proxy.
new EventHubConsumerClient(consumerGroup: string, connectionString: string, checkpointStore: CheckpointStore, options?: EventHubConsumerClientOptions)
Parámetros
- consumerGroup
-
string
Nombre del grupo de consumidores desde el que desea procesar eventos.
- 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'.
- checkpointStore
- CheckpointStore
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. También lo usa el cliente para equilibrar la carga de varias instancias de la aplicación.
- options
- EventHubConsumerClientOptions
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 sockets web. -
userAgent
: una cadena que se va a anexar a la cadena del agente de usuario integrada que se pasa al servicio.
EventHubConsumerClient(string, string, EventHubConsumerClientOptions)
La clase EventHubConsumerClient
se usa para consumir eventos de un centro de eventos.
Use el options
parmeter para configurar la directiva de reintento o la configuración de proxy.
new EventHubConsumerClient(consumerGroup: string, connectionString: string, options?: EventHubConsumerClientOptions)
Parámetros
- consumerGroup
-
string
Nombre del grupo de consumidores desde el que desea procesar eventos.
- 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
- EventHubConsumerClientOptions
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 sockets web. -
userAgent
: una cadena que se va a anexar a la cadena del agente de usuario integrada que se pasa al servicio.
EventHubConsumerClient(string, string, string, CheckpointStore, EventHubConsumerClientOptions)
La clase EventHubConsumerClient
se usa para consumir eventos de un centro de eventos.
Use el options
parmeter para configurar la directiva de reintento o la configuración de proxy.
new EventHubConsumerClient(consumerGroup: string, connectionString: string, eventHubName: string, checkpointStore: CheckpointStore, options?: EventHubConsumerClientOptions)
Parámetros
- consumerGroup
-
string
Nombre del grupo de consumidores desde el que desea procesar eventos.
- 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 compartida 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.
- checkpointStore
- CheckpointStore
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. También lo usa el cliente para equilibrar la carga de varias instancias de la aplicación.
- options
- EventHubConsumerClientOptions
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 sockets web. -
userAgent
: una cadena que se va a anexar a la cadena del agente de usuario integrada que se pasa al servicio.
EventHubConsumerClient(string, string, string, EventHubConsumerClientOptions)
La clase EventHubConsumerClient
se usa para consumir eventos de un centro de eventos.
Use el options
parmeter para configurar la directiva de reintento o la configuración de proxy.
new EventHubConsumerClient(consumerGroup: string, connectionString: string, eventHubName: string, options?: EventHubConsumerClientOptions)
Parámetros
- consumerGroup
-
string
Nombre del grupo de consumidores desde el que desea procesar eventos.
- 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 compartida 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
- EventHubConsumerClientOptions
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 sockets web. -
userAgent
: una cadena que se va a anexar a la cadena del agente de usuario integrada que se pasa al servicio.
EventHubConsumerClient(string, string, string, TokenCredential | NamedKeyCredential | SASCredential, CheckpointStore, EventHubConsumerClientOptions)
La clase EventHubConsumerClient
se usa para consumir eventos de un centro de eventos.
Use el options
parmeter para configurar la directiva de reintento o la configuración de proxy.
new EventHubConsumerClient(consumerGroup: string, fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, checkpointStore: CheckpointStore, options?: EventHubConsumerClientOptions)
Parámetros
- consumerGroup
-
string
Nombre del grupo de consumidores desde el que desea procesar eventos.
- fullyQualifiedNamespace
-
string
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
Objeto de credencial que usa 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 el AzureNamedKeyCredential
de @azure/core-auth si desea pasar una SharedAccessKeyName
y SharedAccessKey
sin usar una cadena de conexión. Estos campos se asignan al campo name
y key
respectivamente en AzureNamedKeyCredential
.
Use el AzureSASCredential
de @azure/core-auth si desea pasar una SharedAccessSignature
sin usar una cadena de conexión. Este campo se asigna a signature
en AzureSASCredential
.
- checkpointStore
- CheckpointStore
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. También lo usa el cliente para equilibrar la carga de varias instancias de la aplicación.
- options
- EventHubConsumerClientOptions
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 sockets web. -
userAgent
: una cadena que se va a anexar a la cadena del agente de usuario integrada que se pasa al servicio.
EventHubConsumerClient(string, string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubConsumerClientOptions)
La clase EventHubConsumerClient
se usa para consumir eventos de un centro de eventos.
Use el options
parmeter para configurar la directiva de reintento o la configuración de proxy.
new EventHubConsumerClient(consumerGroup: string, fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options?: EventHubConsumerClientOptions)
Parámetros
- consumerGroup
-
string
Nombre del grupo de consumidores desde el que desea procesar eventos.
- fullyQualifiedNamespace
-
string
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
Objeto de credencial que usa 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 el AzureNamedKeyCredential
de @azure/core-auth si desea pasar una SharedAccessKeyName
y SharedAccessKey
sin usar una cadena de conexión. Estos campos se asignan al campo name
y key
respectivamente en AzureNamedKeyCredential
.
Use el AzureSASCredential
de @azure/core-auth si desea pasar una SharedAccessSignature
sin usar una cadena de conexión. Este campo se asigna a signature
en AzureSASCredential
.
- options
- EventHubConsumerClientOptions
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 sockets web. -
userAgent
: una cadena que se va a anexar a la cadena del agente de usuario integrada que se pasa al servicio.
Detalles de las propiedades
defaultConsumerGroupName
Nombre del grupo de consumidores predeterminado en el servicio Event Hubs.
static defaultConsumerGroupName: string
Valor de propiedad
string
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. Esto es probable que sea similar a .servicebus.windows.net.
string fullyQualifiedNamespace
Valor de propiedad
string
identifier
Nombre que se usa para identificar este EventHubConsumerClient. Si no se especifica o está vacío, se generará uno único aleatorio.
identifier: string
Valor de propiedad
string
Detalles del método
close()
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.
function close(): Promise<void>
Devoluciones
Promise<void>
Prometer
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
Promise<EventHubProperties>
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
Promise<PartitionProperties>
Promesa que se resuelve con información sobre el estado de la partición .
subscribe(string, SubscriptionEventHandlers, SubscribeOptions)
Suscríbase a eventos desde una sola partición. Llame a close() en el objeto devuelto para dejar de recibir eventos.
Uso de ejemplo:
const client = new EventHubConsumerClient(consumerGroup, connectionString, eventHubName);
const subscription = client.subscribe(
partitionId,
{
processEvents: (events, context) => { console.log("Received event count: ", events.length) },
processError: (err, context) => { console.log("Error: ", err) }
},
{ startPosition: earliestEventPosition }
);
function subscribe(partitionId: string, handlers: SubscriptionEventHandlers, options?: SubscribeOptions): Subscription
Parámetros
- partitionId
-
string
Identificador de la partición a la que se va a suscribir.
- handlers
- SubscriptionEventHandlers
Controladores del ciclo de vida de la suscripción: inicialización de la suscripción de la partición, recepción de eventos, control de errores y cierre de una suscripción a la partición.
- options
- SubscribeOptions
Configura la forma en que se reciben los eventos.
Los más comunes son maxBatchSize
y maxWaitTimeInSeconds
que controlan el flujo de eventos al controlador proporcionado para recibir eventos, así como la posición inicial. Por ejemplo, { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }
Devoluciones
subscribe(SubscriptionEventHandlers, SubscribeOptions)
Suscríbase a eventos de todas las particiones.
Si el almacén de puntos de control se proporciona a la EventHubConsumerClient
y hay varias instancias de la aplicación, cada instancia se suscribirá a un subconjunto de las particiones de modo que la carga esté equilibrada entre ellas.
Llame a close() en el objeto devuelto para dejar de recibir eventos.
Uso de ejemplo:
const client = new EventHubConsumerClient(consumerGroup, connectionString, eventHubName);
const subscription = client.subscribe(
{
processEvents: (events, context) => { console.log("Received event count: ", events.length) },
processError: (err, context) => { console.log("Error: ", err) }
},
{ startPosition: earliestEventPosition }
);
function subscribe(handlers: SubscriptionEventHandlers, options?: SubscribeOptions): Subscription
Parámetros
- handlers
- SubscriptionEventHandlers
Controladores del ciclo de vida de la suscripción: inicialización de suscripción por partición, recepción de eventos, control de errores y cierre de una suscripción por partición.
- options
- SubscribeOptions
Configura la forma en que se reciben los eventos.
Los más comunes son maxBatchSize
y maxWaitTimeInSeconds
que controlan el flujo de eventos al controlador proporcionado para recibir eventos, así como la posición inicial. Por ejemplo, { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }