EventHubClientBuilder Clase
- java.
lang. Object - com.
azure. messaging. eventhubs. EventHubClientBuilder
- com.
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:
- connectionString(String connectionString) con una cadena de conexión a un centro de eventos específico.
- connectionString(String connectionString, String eventHubName) con una cadena de conexión del espacio de nombres del centro de eventos y el nombre del centro de eventos.
- credential(String fullyQualifiedNamespace, String eventHubName, TokenCredential credential) con el espacio de nombres completo, el nombre del centro de eventos y un conjunto de credenciales autorizadas para usar el centro de eventos.
- credential(String fullyQualifiedNamespace, String eventHubName, AzureSasCredential credential) con el espacio de nombres completo, el nombre del centro de eventos y una firma de acceso compartido para el centro de eventos.
- credential(String fullyQualifiedNamespace, String eventHubName, AzureNamedKeyCredential credential) con el espacio de nombres completo, el nombre del centro de eventos y una credencial de clave con nombre. La clave con nombre se puede encontrar en Azure Portal; para ello, vaya al recurso del centro de eventos y seleccione "Directivas de acceso compartido" en la sección Configuración.
- credential(TokenCredential credential)Las sobrecargas , credential(AzureSasCredential credential)y credential(AzureNamedKeyCredential credential) se pueden usar con sus credenciales respectivas. fullyQualifiedNamespace(String fullyQualifiedNamespace) y eventHubName(String eventHubName) también deben establecerse.
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 |
---|---|
Event |
buildAsyncConsumerClient()
Crea un nuevo EventHubConsumerAsyncClient basado en las opciones establecidas en este generador. |
Event |
buildAsyncProducerClient()
Crea un nuevo EventHubProducerAsyncClient basado en las opciones establecidas en este generador. |
Event |
buildConsumerClient()
Crea un nuevo EventHubConsumerClient basado en las opciones establecidas en este generador. |
Event |
buildProducerClient()
Crea un nuevo EventHubProducerClient basado en las opciones establecidas en este generador. |
Event |
clientOptions(ClientOptions clientOptions)
Establece las opciones de cliente. |
Event |
configuration(Configuration configuration)
Establece el almacén de configuración que se usa durante la construcción del cliente de servicio. |
Event |
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. |
Event |
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. |
Event |
consumerGroup(String consumerGroup)
Establece el nombre del grupo de consumidores al que está asociado este consumidor. |
Event |
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. |
Event |
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. |
Event |
credential(TokenCredential credential)
Establece el TokenCredential objeto utilizado para autorizar las solicitudes enviadas al servicio. |
Event |
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. |
Event |
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. |
Event |
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. |
Event |
customEndpointAddress(String customEndpointAddress)
Establece una dirección de punto de conexión personalizada al conectarse al servicio Event Hubs. |
Event |
eventHubName(String eventHubName)
Establece el nombre del centro de eventos al que se va a conectar el cliente. |
Event |
fullyQualifiedNamespace(String fullyQualifiedNamespace)
Establece el nombre completo del espacio de nombres de Event Hubs. |
Event |
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. |
Event |
proxyOptions(ProxyOptions proxyOptions)
Establece la configuración de proxy que se va a usar para EventHubAsyncClient. |
Event |
retry(AmqpRetryOptions retryOptions)
Obsoleto
Reemplazado por retryOptions(AmqpRetryOptions retryOptions).
Establece la directiva de reintento para EventHubAsyncClient. |
Event |
retryOptions(AmqpRetryOptions retryOptions)
Establece la directiva de reintento para EventHubAsyncClient. |
Event |
shareConnection()
Alterna el generador para usar la misma conexión para productores o consumidores que se compilan a partir de esta instancia. |
Event |
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:
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:
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:
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:
clientOptions
public EventHubClientBuilder clientOptions(ClientOptions clientOptions)
Establece las opciones de cliente.
Parameters:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
eventHubName
public EventHubClientBuilder eventHubName(String eventHubName)
Establece el nombre del centro de eventos al que se va a conectar el cliente.
Parameters:
Returns:
fullyQualifiedNamespace
public EventHubClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)
Establece el nombre completo del espacio de nombres de Event Hubs.
Parameters:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
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:
Returns:
Se aplica a
Azure SDK for Java