Compartir a través de


EventHubClientBuilder Clase

  • java.lang.Object
    • com.azure.messaging.eventhubs.EventHubClientBuilder

Implementaciones

public class EventHubClientBuilder
implements TokenCredentialTrait<EventHubClientBuilder>, AzureNamedKeyCredentialTrait<EventHubClientBuilder>, ConnectionStringTrait<EventHubClientBuilder>, AzureSasCredentialTrait<EventHubClientBuilder>, AmqpTrait<EventHubClientBuilder>, ConfigurationTrait<EventHubClientBuilder>

Esta clase proporciona una API de generador fluida para ayudar a crear instancias de EventHubProducerAsyncClient, EventHubProducerClient, EventHubConsumerAsyncClienty EventHubConsumerClient. Al llamar a cualquiera de los .build*Client() métodos, se creará una instancia del cliente correspondiente.

Las credenciales son necesarias para realizar operaciones en Azure Event Hubs. Se pueden establecer mediante uno de los métodos siguientes:

Además, consumerGroup(String consumerGroup) es necesario al crear EventHubConsumerAsyncClient o EventHubConsumerClient.

La credencial usada en los ejemplos siguientes es DefaultAzureCredential para la autenticación. Es adecuado para la mayoría de los escenarios, incluidos los entornos de desarrollo y producción locales. Además, se recomienda usar la identidad administrada para la autenticación en entornos de producción. Puede encontrar más información sobre las distintas formas de autenticación y sus tipos de credenciales correspondientes en la documentación de Azure Identity.

Ejemplo: Construcción de un EventHubProducerAsyncClient

En el ejemplo de código siguiente se muestra la creación del cliente EventHubProducerAsyncClientasincrónico . fullyQualifiedNamespace es el nombre de host del espacio de nombres de Event Hubs. Aparece en el panel "Essentials" después de navegar al espacio de nombres de Event Hubs a través de Azure Portal. La credencial usada se debe DefaultAzureCredential a que combina credenciales usadas habitualmente en la implementación y el desarrollo y elige la credencial que se usará en función de su entorno en ejecución.

TokenCredential credential = new DefaultAzureCredentialBuilder().build();

 // "<<fully-qualified-namespace>>" will look similar to "{your-namespace}.servicebus.windows.net"
 // "<<event-hub-name>>" will be the name of the Event Hub instance you created inside the Event Hubs namespace.
 EventHubProducerAsyncClient producer = new EventHubClientBuilder()
     .credential("<<fully-qualified-namespace>>", "<<event-hub-name>>",
         credential)
     .buildAsyncProducerClient();

Ejemplo: Construcción de un EventHubConsumerAsyncClient

En el ejemplo de código siguiente se muestra la creación del cliente EventHubConsumerAsyncClientasincrónico . fullyQualifiedNamespace es el nombre de host del espacio de nombres de Event Hubs. Aparece en el panel "Essentials" después de navegar al espacio de nombres de Event Hubs a través de Azure Portal. Para consumerGroup encontrar , vaya a la instancia del centro de eventos y seleccione "Grupos de consumidores" en el panel "Entidades". consumerGroup(String consumerGroup) es necesario para crear clientes de consumidor. La credencial usada se debe DefaultAzureCredential a que combina credenciales usadas habitualmente en la implementación y el desarrollo y elige la credencial que se usará en función de su entorno en ejecución.

TokenCredential credential = new DefaultAzureCredentialBuilder().build();

 // "<<fully-qualified-namespace>>" will look similar to "{your-namespace}.servicebus.windows.net"
 // "<<event-hub-name>>" will be the name of the Event Hub instance you created inside the Event Hubs namespace.
 EventHubConsumerAsyncClient consumer = new EventHubClientBuilder()
     .credential("<<fully-qualified-namespace>>", "<<event-hub-name>>",
         credential)
     .consumerGroup(EventHubClientBuilder.DEFAULT_CONSUMER_GROUP_NAME)
     .buildAsyncConsumerClient();

Ejemplo: Creación de un cliente mediante sockets web y opciones de reintento personalizadas

De forma predeterminada, se usa el puerto AMQP 5671, pero los clientes pueden usar sockets web, puerto 443. Los clientes pueden reemplazar por default retry options su propia directiva. Las opciones de reintento se usan al recuperarse de errores transitorios en la conexión AMQP subyacente y realizar cualquier operación que requiera una respuesta del servicio.

TokenCredential credential = new DefaultAzureCredentialBuilder().build();

 AmqpRetryOptions customRetryOptions = new AmqpRetryOptions()
     .setMaxRetries(5)
     .setMode(AmqpRetryMode.FIXED)
     .setTryTimeout(Duration.ofSeconds(60));

 // "<<fully-qualified-namespace>>" will look similar to "{your-namespace}.servicebus.windows.net"
 // "<<event-hub-name>>" will be the name of the Event Hub instance you created inside the Event Hubs namespace.
 EventHubProducerClient producer = new EventHubClientBuilder()
     .credential("<<fully-qualified-namespace>>", "<<event-hub-name>>",
         credential)
     .transportType(AmqpTransportType.AMQP_WEB_SOCKETS)
     .buildProducerClient();

Ejemplo: Creación de productores y consumidores que comparten la misma conexión

De forma predeterminada, se crea una conexión dedicada para cada productor y consumidor creado a partir del generador. Si los usuarios desean usar la misma conexión subyacente, pueden alternar shareConnection(). Esta conexión subyacente se cierra cuando se eliminan todos los clientes creados a partir de esta instancia del generador.

TokenCredential credential = new DefaultAzureCredentialBuilder().build();

 // "<<fully-qualified-namespace>>" will look similar to "{your-namespace}.servicebus.windows.net"
 // "<<event-hub-name>>" will be the name of the Event Hub instance you created inside the Event Hubs namespace.
 EventHubClientBuilder builder = new EventHubClientBuilder()
     .credential("<<fully-qualified-namespace>>", "<<event-hub-name>>",
         credential)
     .shareConnection();

 // Both the producer and consumer created share the same underlying connection.
 EventHubProducerAsyncClient producer = builder.buildAsyncProducerClient();
 EventHubConsumerAsyncClient consumer = builder
     .consumerGroup("my-consumer-group")
     .buildAsyncConsumerClient();

Resumen del campo

Modificador y tipo Campo y descripción
static final String DEFAULT_CONSUMER_GROUP_NAME

Nombre del grupo de consumidores predeterminado en el servicio Event Hubs.

Resumen del constructor

Constructor Description
EventHubClientBuilder()

Crea una nueva instancia con el transporte AMQP predeterminado y una conexión no compartida.

Resumen del método

Modificador y tipo Método y descripción
EventHubConsumerAsyncClient buildAsyncConsumerClient()

Crea un nuevo EventHubConsumerAsyncClient basado en las opciones establecidas en este generador.

EventHubProducerAsyncClient buildAsyncProducerClient()

Crea un nuevo EventHubProducerAsyncClient basado en las opciones establecidas en este generador.

EventHubConsumerClient buildConsumerClient()

Crea un nuevo EventHubConsumerClient basado en las opciones establecidas en este generador.

EventHubProducerClient buildProducerClient()

Crea un nuevo EventHubProducerClient basado en las opciones establecidas en este generador.

EventHubClientBuilder clientOptions(ClientOptions clientOptions)

Establece las opciones de cliente.

EventHubClientBuilder configuration(Configuration configuration)

Establece el almacén de configuración que se usa durante la construcción del cliente de servicio.

EventHubClientBuilder connectionString(String connectionString)

Establece la información de credenciales dada una cadena de conexión a la instancia del centro de eventos o al espacio de nombres de Event Hubs.

EventHubClientBuilder connectionString(String connectionString, String eventHubName)

Establece la información de credenciales dada una cadena de conexión al espacio de nombres de Event Hubs y el nombre a una instancia específica del centro de eventos.

EventHubClientBuilder consumerGroup(String consumerGroup)

Establece el nombre del grupo de consumidores al que está asociado este consumidor.

EventHubClientBuilder credential(AzureNamedKeyCredential credential)

Establece la información de credenciales a la que se va a conectar la instancia del centro de eventos y cómo autorizarla.

EventHubClientBuilder credential(AzureSasCredential credential)

Establece la información de credenciales a la que se va a conectar la instancia del centro de eventos y cómo autorizarla.

EventHubClientBuilder credential(TokenCredential credential)

Establece el TokenCredential objeto utilizado para autorizar las solicitudes enviadas al servicio.

EventHubClientBuilder credential(String fullyQualifiedNamespace, String eventHubName, AzureNamedKeyCredential credential)

Establece la información de credenciales a la que se va a conectar la instancia del centro de eventos y cómo autorizarla.

EventHubClientBuilder credential(String fullyQualifiedNamespace, String eventHubName, AzureSasCredential credential)

Establece la información de credenciales a la que se va a conectar la instancia del centro de eventos y cómo autorizarla.

EventHubClientBuilder credential(String fullyQualifiedNamespace, String eventHubName, TokenCredential credential)

Establece la información de credenciales a la que se va a conectar la instancia del centro de eventos y cómo autorizarla.

EventHubClientBuilder customEndpointAddress(String customEndpointAddress)

Establece una dirección de punto de conexión personalizada al conectarse al servicio Event Hubs.

EventHubClientBuilder eventHubName(String eventHubName)

Establece el nombre del centro de eventos al que se va a conectar el cliente.

EventHubClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Establece el nombre completo del espacio de nombres de Event Hubs.

EventHubClientBuilder prefetchCount(int prefetchCount)

Establece el recuento usado por el receptor para controlar el número de eventos que el consumidor del centro de eventos recibirá y pondrá en cola localmente sin tener en cuenta si una operación de recepción está activa actualmente.

EventHubClientBuilder proxyOptions(ProxyOptions proxyOptions)

Establece la configuración de proxy que se va a usar para EventHubAsyncClient.

EventHubClientBuilder retry(AmqpRetryOptions retryOptions)

Obsoleto

Establece la directiva de reintento para EventHubAsyncClient.

EventHubClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Establece la directiva de reintento para EventHubAsyncClient.

EventHubClientBuilder shareConnection()

Alterna el generador para usar la misma conexión para productores o consumidores que se compilan a partir de esta instancia.

EventHubClientBuilder transportType(AmqpTransportType transport)

Establece el tipo de transporte por el que se produce toda la comunicación con Azure Event Hubs.

Métodos heredados de java.lang.Object

Detalles del campo

DEFAULT_CONSUMER_GROUP_NAME

public static final String DEFAULT_CONSUMER_GROUP_NAME

Nombre del grupo de consumidores predeterminado en el servicio Event Hubs.

Detalles del constructor

EventHubClientBuilder

public EventHubClientBuilder()

Crea una nueva instancia con el transporte AMQP predeterminado y una conexión no compartida. Una conexión no compartida significa que se crea una conexión AMQP dedicada para cada consumidor o productor del centro de eventos creado mediante el generador.

Detalles del método

buildAsyncConsumerClient

public EventHubConsumerAsyncClient buildAsyncConsumerClient()

Crea un nuevo EventHubConsumerAsyncClient basado en las opciones establecidas en este generador. Cada vez buildAsyncConsumer() que se invoca, se crea una nueva instancia de EventHubConsumerAsyncClient .

Returns:

EventHubConsumerAsyncClient Nuevo con las opciones configuradas.

buildAsyncProducerClient

public EventHubProducerAsyncClient buildAsyncProducerClient()

Crea un nuevo EventHubProducerAsyncClient basado en las opciones establecidas en este generador. Cada vez buildAsyncProducer() que se invoca, se crea una nueva instancia de EventHubProducerAsyncClient .

Returns:

EventHubProducerAsyncClient Nueva instancia con todas las opciones configuradas.

buildConsumerClient

public EventHubConsumerClient buildConsumerClient()

Crea un nuevo EventHubConsumerClient basado en las opciones establecidas en este generador. Cada vez buildConsumer() que se invoca, se crea una nueva instancia de EventHubConsumerClient .

Returns:

EventHubConsumerClient Nuevo con las opciones configuradas.

buildProducerClient

public EventHubProducerClient buildProducerClient()

Crea un nuevo EventHubProducerClient basado en las opciones establecidas en este generador. Cada vez buildAsyncProducer() que se invoca, se crea una nueva instancia de EventHubProducerClient .

Returns:

EventHubProducerClient Nueva instancia con todas las opciones configuradas.

clientOptions

public EventHubClientBuilder clientOptions(ClientOptions clientOptions)

Establece las opciones de cliente.

Parameters:

clientOptions - Opciones de cliente.

Returns:

Objeto EventHubClientBuilder actualizado.

configuration

public EventHubClientBuilder configuration(Configuration configuration)

Establece el almacén de configuración que se usa durante la construcción del cliente de servicio. Si no se especifica, se usa el almacén de configuración predeterminado para configurar .EventHubAsyncClient Use NONE para omitir el uso de las opciones de configuración durante la construcción.

Parameters:

configuration - Almacén de configuración que se usa para configurar .EventHubAsyncClient

Returns:

Objeto EventHubClientBuilder actualizado.

connectionString

public EventHubClientBuilder connectionString(String connectionString)

Establece la información de credenciales dada una cadena de conexión a la instancia del centro de eventos o al espacio de nombres de Event Hubs.

Si la cadena de conexión se copia del espacio de nombres de Event Hubs, es probable que no contenga el nombre en el centro de eventos deseado, que es necesario. En este caso, el nombre se puede agregar manualmente agregando "EntityPath=EVENT_HUB_NAME" al final de la cadena de conexión. Por ejemplo, "EntityPath=telemetry-hub".

Si ha definido una directiva de acceso compartido directamente en el propio centro de eventos, al copiar la cadena de conexión de ese centro de eventos se producirá una cadena de conexión que contenga el nombre.

Parameters:

connectionString - Cadena de conexión que se va a usar para conectarse a la instancia del centro de eventos o a la instancia de Event Hubs. Se espera que el nombre del centro de eventos y las propiedades de la clave de acceso compartido estén contenidas en esta cadena de conexión.

Returns:

Objeto EventHubClientBuilder actualizado.

connectionString

public EventHubClientBuilder connectionString(String connectionString, String eventHubName)

Establece la información de credenciales dada una cadena de conexión al espacio de nombres de Event Hubs y el nombre a una instancia específica del centro de eventos.

Parameters:

connectionString - Cadena de conexión que se va a usar para conectarse al espacio de nombres de Event Hubs; se espera que las propiedades de la clave de acceso compartido estén contenidas en esta cadena de conexión, pero no en el nombre del centro de eventos.
eventHubName - Nombre del centro de eventos al que se va a conectar el cliente.

Returns:

Objeto EventHubClientBuilder actualizado.

consumerGroup

public EventHubClientBuilder consumerGroup(String consumerGroup)

Establece el nombre del grupo de consumidores al que está asociado este consumidor. Los eventos se leen en el contexto de este grupo. El nombre del grupo de consumidores que se crea de forma predeterminada es DEFAULT_CONSUMER_GROUP_NAME.

Parameters:

consumerGroup - Nombre del grupo de consumidores al que está asociado este consumidor. Los eventos se leen en el contexto de este grupo. El nombre del grupo de consumidores que se crea de forma predeterminada es <xref uid="com.azure.messaging.eventhubs.EventHubClientBuilder.DEFAULT_CONSUMER_GROUP_NAME" data-throw-if-not-resolved="false" data-raw-source=""$Default""".>

Returns:

Objeto EventHubClientBuilder actualizado.

credential

public EventHubClientBuilder credential(AzureNamedKeyCredential credential)

Establece la información de credenciales a la que se va a conectar la instancia del centro de eventos y cómo autorizarla.

Parameters:

credential - Nombre de acceso compartido y credencial de clave que se va a usar para la autorización. Los controles de acceso pueden especificarse mediante el espacio de nombres de Event Hubs o el centro de eventos solicitado, en función de la configuración de Azure.

Returns:

Objeto EventHubClientBuilder actualizado.

credential

public EventHubClientBuilder credential(AzureSasCredential credential)

Establece la información de credenciales a la que se va a conectar la instancia del centro de eventos y cómo autorizarla.

Parameters:

credential - Credencial de firma de acceso compartido que se va a usar para la autorización. Los controles de acceso pueden especificarse mediante el espacio de nombres de Event Hubs o el centro de eventos solicitado, en función de la configuración de Azure.

Returns:

Objeto EventHubClientBuilder actualizado.

credential

public EventHubClientBuilder credential(TokenCredential credential)

Establece el TokenCredential objeto utilizado para autorizar las solicitudes enviadas al servicio. Consulte la documentación de autenticación e identidad de Azure SDK para Java para obtener más información sobre el uso adecuado del TokenCredential tipo.

Parameters:

credential - Credencial de token que se va a usar para la autorización. Los controles de acceso pueden especificarse mediante el espacio de nombres de Event Hubs o el centro de eventos solicitado, en función de la configuración de Azure.

Returns:

Objeto EventHubClientBuilder actualizado.

credential

public EventHubClientBuilder credential(String fullyQualifiedNamespace, String eventHubName, AzureNamedKeyCredential credential)

Establece la información de credenciales a la que se va a conectar la instancia del centro de eventos y cómo autorizarla.

Parameters:

fullyQualifiedNamespace - Nombre completo del espacio de nombres de Event Hubs. Es probable que sea similar a "{your-namespace}.servicebus.windows.net".
eventHubName - Nombre del centro de eventos al que se va a conectar el cliente.
credential - Nombre de acceso compartido y credencial de clave que se va a usar para la autorización. Los controles de acceso pueden especificarse mediante el espacio de nombres de Event Hubs o el centro de eventos solicitado, en función de la configuración de Azure.

Returns:

Objeto EventHubClientBuilder actualizado.

credential

public EventHubClientBuilder credential(String fullyQualifiedNamespace, String eventHubName, AzureSasCredential credential)

Establece la información de credenciales a la que se va a conectar la instancia del centro de eventos y cómo autorizarla.

Parameters:

fullyQualifiedNamespace - Nombre completo del espacio de nombres de Event Hubs. Es probable que sea similar a "{your-namespace}.servicebus.windows.net".
eventHubName - Nombre del centro de eventos al que se va a conectar el cliente.
credential - Credencial de firma de acceso compartido que se va a usar para la autorización. Los controles de acceso pueden especificarse mediante el espacio de nombres de Event Hubs o el centro de eventos solicitado, en función de la configuración de Azure.

Returns:

Objeto EventHubClientBuilder actualizado.

credential

public EventHubClientBuilder credential(String fullyQualifiedNamespace, String eventHubName, TokenCredential credential)

Establece la información de credenciales a la que se va a conectar la instancia del centro de eventos y cómo autorizarla.

Parameters:

fullyQualifiedNamespace - Nombre completo del espacio de nombres de Event Hubs. Es probable que sea similar a "{your-namespace}.servicebus.windows.net".
eventHubName - Nombre del centro de eventos al que se va a conectar el cliente.
credential - Credencial de token que se va a usar para la autorización. Los controles de acceso pueden especificarse mediante el espacio de nombres de Event Hubs o el centro de eventos solicitado, en función de la configuración de Azure.

Returns:

Objeto EventHubClientBuilder actualizado.

customEndpointAddress

public EventHubClientBuilder customEndpointAddress(String customEndpointAddress)

Establece una dirección de punto de conexión personalizada al conectarse al servicio Event Hubs. Esto puede ser útil cuando la red no permite conectarse a la dirección del punto de conexión de Azure Event Hubs estándar, pero permite conectarse a través de un intermediario. Por ejemplo: https://my.custom.endpoint.com:55300.

Si no se especifica ningún puerto, se usa el puerto predeterminado para .transportType(AmqpTransportType transport)

Parameters:

customEndpointAddress - Dirección del punto de conexión personalizado.

Returns:

Objeto EventHubClientBuilder actualizado.

eventHubName

public EventHubClientBuilder eventHubName(String eventHubName)

Establece el nombre del centro de eventos al que se va a conectar el cliente.

Parameters:

eventHubName - Nombre del centro de eventos al que se va a conectar el cliente.

Returns:

Objeto EventHubClientBuilder actualizado.

fullyQualifiedNamespace

public EventHubClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Establece el nombre completo del espacio de nombres de Event Hubs.

Parameters:

fullyQualifiedNamespace - Nombre completo del espacio de nombres de Event Hubs. Es probable que sea similar a "{your-namespace}.servicebus.windows.net".

Returns:

Objeto EventHubClientBuilder actualizado.

prefetchCount

public EventHubClientBuilder prefetchCount(int prefetchCount)

Establece el recuento usado por el receptor para controlar el número de eventos que el consumidor del centro de eventos recibirá y pondrá en cola localmente sin tener en cuenta si una operación de recepción está activa actualmente.

Parameters:

prefetchCount - Cantidad de eventos que se van a poner en cola localmente.

Returns:

Objeto EventHubClientBuilder actualizado.

proxyOptions

public EventHubClientBuilder proxyOptions(ProxyOptions proxyOptions)

Establece la configuración de proxy que se va a usar para EventHubAsyncClient. Cuando se configura un proxy, AMQP_WEB_SOCKETS se debe usar para el tipo de transporte.

Parameters:

proxyOptions - Configuración de proxy que se va a usar.

Returns:

Objeto EventHubClientBuilder actualizado.

retry

@Deprecated
public EventHubClientBuilder retry(AmqpRetryOptions retryOptions)

Obsoleto

Establece la directiva de reintento para EventHubAsyncClient. Si no se especifica, se usan las opciones de reintento predeterminadas.

Parameters:

retryOptions - Directiva de reintento que se va a usar.

Returns:

Objeto EventHubClientBuilder actualizado.

retryOptions

public EventHubClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Establece la directiva de reintento para EventHubAsyncClient. Si no se especifica, se usan las opciones de reintento predeterminadas.

Parameters:

retryOptions - Directiva de reintento que se va a usar.

Returns:

Objeto EventHubClientBuilder actualizado.

shareConnection

public EventHubClientBuilder shareConnection()

Alterna el generador para usar la misma conexión para productores o consumidores que se compilan a partir de esta instancia. De forma predeterminada, se crea una nueva conexión y se usa para cada consumidor o productor del centro de eventos creado.

Returns:

Objeto EventHubClientBuilder actualizado.

transportType

public EventHubClientBuilder transportType(AmqpTransportType transport)

Establece el tipo de transporte por el que se produce toda la comunicación con Azure Event Hubs. El valor predeterminado es AMQP.

Parameters:

transport - Tipo de transporte que se va a usar.

Returns:

Objeto EventHubClientBuilder actualizado.

Se aplica a