Compartilhar via


EventHubClientBuilder Classe

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

Implementações

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

Essa classe fornece uma API de construtor fluente para ajudar na instanciação de EventHubProducerAsyncClient, EventHubProducerClient, EventHubConsumerAsyncCliente EventHubConsumerClient. Chamar qualquer um dos .build*Client() métodos criará uma instância do respectivo cliente.

As credenciais são necessárias para executar operações em Hubs de Eventos do Azure. Eles podem ser definidos usando um dos seguintes métodos:

Além disso, o consumerGroup(String consumerGroup) é necessário ao criar EventHubConsumerAsyncClient ou EventHubConsumerClient.

A credencial usada nos exemplos a seguir é DefaultAzureCredential para autenticação. É apropriado para a maioria dos cenários, incluindo ambientes locais de desenvolvimento e produção. Além disso, recomendamos usar a identidade gerenciada para autenticação em ambientes de produção. Você pode encontrar mais informações sobre diferentes maneiras de autenticação e seus tipos de credencial correspondentes na documentação da Identidade do Azure".

Exemplo: Construir um EventHubProducerAsyncClient

O exemplo de código a seguir demonstra a criação do cliente EventHubProducerAsyncClientassíncrono . O fullyQualifiedNamespace é o nome do host do Namespace dos Hubs de Eventos. Ele é listado no painel "Essentials" depois de navegar até o Namespace dos Hubs de Eventos por meio do Portal do Azure. A credencial usada é DefaultAzureCredential porque combina credenciais comumente usadas na implantação e desenvolvimento e escolhe a credencial a ser usada com base em seu ambiente de execução.

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();

Exemplo: Construir um EventHubConsumerAsyncClient

O exemplo de código a seguir demonstra a criação do cliente EventHubConsumerAsyncClientassíncrono . O fullyQualifiedNamespace é o nome do host do Namespace dos Hubs de Eventos. Ele é listado no painel "Essentials" depois de navegar até o Namespace dos Hubs de Eventos por meio do Portal do Azure. O consumerGroup é encontrado navegando até a instância do Hub de Eventos e selecionando "Grupos de consumidores" no painel "Entidades". O consumerGroup(String consumerGroup) é necessário para criar clientes consumidores. A credencial usada é DefaultAzureCredential porque combina credenciais comumente usadas na implantação e desenvolvimento e escolhe a credencial a ser usada com base em seu ambiente de execução.

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();

Exemplo: criando um cliente usando soquetes da Web e opções de repetição personalizadas

Por padrão, a porta AMQP 5671 é usada, mas os clientes podem usar soquetes da Web, porta 443. Os clientes podem substituir o default retry options por sua própria política. As opções de repetição são usadas ao se recuperar de falhas transitórias na conexão AMQP subjacente e executar quaisquer operações que exijam uma resposta do serviço.

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();

Exemplo: criando produtores e consumidores que compartilham a mesma conexão

Por padrão, uma conexão dedicada é criada para cada produtor e consumidor criado a partir do construtor. Se os usuários desejarem usar a mesma conexão subjacente, eles poderão alternar shareConnection(). Essa conexão subjacente é fechada quando todos os clientes criados a partir dessa instância do construtor são descartados.

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();

Resumo do campo

Modificador e tipo Campo e descrição
static final String DEFAULT_CONSUMER_GROUP_NAME

O nome do grupo de consumidores padrão no serviço hubs de eventos.

Resumo do Construtor

Construtor Description
EventHubClientBuilder()

Cria uma nova instância com o transporte AMQP padrão e uma conexão não compartilhada.

Resumo do método

Modificador e tipo Método e descrição
EventHubConsumerAsyncClient buildAsyncConsumerClient()

Cria um novo EventHubConsumerAsyncClient com base nas opções definidas nesse construtor.

EventHubProducerAsyncClient buildAsyncProducerClient()

Cria um novo EventHubProducerAsyncClient com base nas opções definidas nesse construtor.

EventHubConsumerClient buildConsumerClient()

Cria um novo EventHubConsumerClient com base nas opções definidas nesse construtor.

EventHubProducerClient buildProducerClient()

Cria um novo EventHubProducerClient com base nas opções definidas nesse construtor.

EventHubClientBuilder clientOptions(ClientOptions clientOptions)

Define as opções do cliente.

EventHubClientBuilder configuration(Configuration configuration)

Define o repositório de configuração usado durante a construção do cliente de serviço.

EventHubClientBuilder connectionString(String connectionString)

Define as informações de credencial dada uma cadeia de conexão para a instância do Hub de Eventos ou o namespace dos Hubs de Eventos.

EventHubClientBuilder connectionString(String connectionString, String eventHubName)

Define as informações de credencial fornecidas por uma cadeia de conexão para o namespace e o nome dos Hubs de Eventos como uma instância específica do Hub de Eventos.

EventHubClientBuilder consumerGroup(String consumerGroup)

Define o nome do grupo de consumidores ao qual esse consumidor está associado.

EventHubClientBuilder credential(AzureNamedKeyCredential credential)

Define as informações de credencial às quais a instância do Hub de Eventos se conectar e como autorizar nela.

EventHubClientBuilder credential(AzureSasCredential credential)

Define as informações de credencial às quais a instância do Hub de Eventos se conectar e como autorizar nela.

EventHubClientBuilder credential(TokenCredential credential)

Define o TokenCredential usado para autorizar solicitações enviadas ao serviço.

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

Define as informações de credencial às quais a instância do Hub de Eventos se conectar e como autorizar nela.

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

Define as informações de credencial às quais a instância do Hub de Eventos se conectar e como autorizar nela.

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

Define as informações de credencial às quais a instância do Hub de Eventos se conectar e como autorizar nela.

EventHubClientBuilder customEndpointAddress(String customEndpointAddress)

Define um endereço de ponto de extremidade personalizado ao se conectar ao serviço de Hubs de Eventos.

EventHubClientBuilder eventHubName(String eventHubName)

Define o nome do Hub de Eventos ao qual conectar o cliente.

EventHubClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Define o nome totalmente qualificado para o namespace dos Hubs de Eventos.

EventHubClientBuilder prefetchCount(int prefetchCount)

Define a contagem usada pelo receptor para controlar o número de eventos que o consumidor do Hub de Eventos receberá ativamente e fará fila localmente sem considerar se uma operação de recebimento está ativa no momento.

EventHubClientBuilder proxyOptions(ProxyOptions proxyOptions)

Define a configuração de proxy a ser usada para EventHubAsyncClient.

EventHubClientBuilder retry(AmqpRetryOptions retryOptions)

Preterido

Define a política de repetição para EventHubAsyncClient.

EventHubClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Define a política de repetição para EventHubAsyncClient.

EventHubClientBuilder shareConnection()

Alterna o construtor para usar a mesma conexão para produtores ou consumidores criados com base nessa instância.

EventHubClientBuilder transportType(AmqpTransportType transport)

Define o tipo de transporte pelo qual ocorre toda a comunicação com Hubs de Eventos do Azure.

Métodos herdados de java.lang.Object

Detalhes do campo

DEFAULT_CONSUMER_GROUP_NAME

public static final String DEFAULT_CONSUMER_GROUP_NAME

O nome do grupo de consumidores padrão no serviço hubs de eventos.

Detalhes do construtor

EventHubClientBuilder

public EventHubClientBuilder()

Cria uma nova instância com o transporte AMQP padrão e uma conexão não compartilhada. Uma conexão não compartilhada significa que uma conexão AMQP dedicada é criada para cada consumidor ou produtor do Hub de Eventos criado usando o construtor.

Detalhes do método

buildAsyncConsumerClient

public EventHubConsumerAsyncClient buildAsyncConsumerClient()

Cria um novo EventHubConsumerAsyncClient com base nas opções definidas nesse construtor. Sempre que buildAsyncConsumer() é invocado, uma nova instância de EventHubConsumerAsyncClient é criada.

Returns:

Um novo EventHubConsumerAsyncClient com as opções configuradas.

buildAsyncProducerClient

public EventHubProducerAsyncClient buildAsyncProducerClient()

Cria um novo EventHubProducerAsyncClient com base nas opções definidas nesse construtor. Sempre que buildAsyncProducer() é invocado, uma nova instância de EventHubProducerAsyncClient é criada.

Returns:

Uma nova EventHubProducerAsyncClient instância com todas as opções configuradas.

buildConsumerClient

public EventHubConsumerClient buildConsumerClient()

Cria um novo EventHubConsumerClient com base nas opções definidas nesse construtor. Sempre que buildConsumer() é invocado, uma nova instância de EventHubConsumerClient é criada.

Returns:

Um novo EventHubConsumerClient com as opções configuradas.

buildProducerClient

public EventHubProducerClient buildProducerClient()

Cria um novo EventHubProducerClient com base nas opções definidas nesse construtor. Sempre que buildAsyncProducer() é invocado, uma nova instância de EventHubProducerClient é criada.

Returns:

Uma nova EventHubProducerClient instância com todas as opções configuradas.

clientOptions

public EventHubClientBuilder clientOptions(ClientOptions clientOptions)

Define as opções do cliente.

Parameters:

clientOptions - As opções do cliente.

Returns:

O objeto atualizado EventHubClientBuilder.

configuration

public EventHubClientBuilder configuration(Configuration configuration)

Define o repositório de configuração usado durante a construção do cliente de serviço. Se não for especificado, o repositório de configuração padrão será usado para configurar o EventHubAsyncClient. Use NONE para ignorar o uso de definições de configuração durante a construção.

Parameters:

configuration - O repositório de configuração usado para configurar o EventHubAsyncClient.

Returns:

O objeto atualizado EventHubClientBuilder.

connectionString

public EventHubClientBuilder connectionString(String connectionString)

Define as informações de credencial dada uma cadeia de conexão para a instância do Hub de Eventos ou o namespace dos Hubs de Eventos.

Se a cadeia de conexão for copiada do namespace dos Hubs de Eventos, ela provavelmente não conterá o nome para o Hub de Eventos desejado, o que é necessário. Nesse caso, o nome pode ser adicionado manualmente adicionando "EntityPath=EVENT_HUB_NAME" ao final da cadeia de conexão. Por exemplo, "EntityPath=telemetry-hub".

Se você tiver definido uma política de acesso compartilhado diretamente no próprio Hub de Eventos, copiar a cadeia de conexão desse Hub de Eventos resultará em uma cadeia de conexão que contém o nome.

Parameters:

connectionString - A cadeia de conexão a ser usada para se conectar à instância do Hub de Eventos ou à instância dos Hubs de Eventos. Espera-se que o nome do Hub de Eventos e as propriedades da chave de acesso compartilhado estejam contidos nessa cadeia de conexão.

Returns:

O objeto atualizado EventHubClientBuilder.

connectionString

public EventHubClientBuilder connectionString(String connectionString, String eventHubName)

Define as informações de credencial fornecidas por uma cadeia de conexão para o namespace e o nome dos Hubs de Eventos como uma instância específica do Hub de Eventos.

Parameters:

connectionString - A cadeia de conexão a ser usada para se conectar ao namespace dos Hubs de Eventos; espera-se que as propriedades da chave de acesso compartilhado estejam contidas nessa cadeia de conexão, mas não no nome do Hub de Eventos.
eventHubName - O nome do Hub de Eventos ao qual conectar o cliente.

Returns:

O objeto atualizado EventHubClientBuilder.

consumerGroup

public EventHubClientBuilder consumerGroup(String consumerGroup)

Define o nome do grupo de consumidores ao qual esse consumidor está associado. Os eventos são lidos no contexto desse grupo. O nome do grupo de consumidores criado por padrão é DEFAULT_CONSUMER_GROUP_NAME.

Parameters:

consumerGroup - O nome do grupo de consumidores ao qual esse consumidor está associado. Os eventos são lidos no contexto desse grupo. O nome do grupo de consumidores criado por padrão é <xref uid="com.azure.messaging.eventhubs.EventHubClientBuilder.DEFAULT_CONSUMER_GROUP_NAME" data-throw-if-not-resolved="false" data-raw-source=""$Default"">.

Returns:

O objeto atualizado EventHubClientBuilder.

credential

public EventHubClientBuilder credential(AzureNamedKeyCredential credential)

Define as informações de credencial às quais a instância do Hub de Eventos se conectar e como autorizar nela.

Parameters:

credential - O nome de acesso compartilhado e a credencial de chave a serem usadas para autorização. Os controles de acesso podem ser especificados pelo namespace dos Hubs de Eventos ou pelo Hub de Eventos solicitado, dependendo da configuração do Azure.

Returns:

O objeto atualizado EventHubClientBuilder.

credential

public EventHubClientBuilder credential(AzureSasCredential credential)

Define as informações de credencial às quais a instância do Hub de Eventos se conectar e como autorizar nela.

Parameters:

credential - A credencial de assinatura de acesso compartilhado a ser usada para autorização. Os controles de acesso podem ser especificados pelo namespace dos Hubs de Eventos ou pelo Hub de Eventos solicitado, dependendo da configuração do Azure.

Returns:

O objeto atualizado EventHubClientBuilder.

credential

public EventHubClientBuilder credential(TokenCredential credential)

Define o TokenCredential usado para autorizar solicitações enviadas ao serviço. Consulte a documentação de identidade e autenticação do SDK do Azure para Java para obter mais detalhes sobre o uso adequado do TokenCredential tipo.

Parameters:

credential - A credencial de token a ser usada para autorização. Os controles de acesso podem ser especificados pelo namespace dos Hubs de Eventos ou pelo Hub de Eventos solicitado, dependendo da configuração do Azure.

Returns:

O objeto atualizado EventHubClientBuilder.

credential

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

Define as informações de credencial às quais a instância do Hub de Eventos se conectar e como autorizar nela.

Parameters:

fullyQualifiedNamespace - O nome totalmente qualificado para o namespace dos Hubs de Eventos. É provável que isso seja semelhante a "{your-namespace}.servicebus.windows.net".
eventHubName - O nome do Hub de Eventos ao qual conectar o cliente.
credential - O nome de acesso compartilhado e a credencial de chave a serem usadas para autorização. Os controles de acesso podem ser especificados pelo namespace dos Hubs de Eventos ou pelo Hub de Eventos solicitado, dependendo da configuração do Azure.

Returns:

O objeto atualizado EventHubClientBuilder.

credential

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

Define as informações de credencial às quais a instância do Hub de Eventos se conectar e como autorizar nela.

Parameters:

fullyQualifiedNamespace - O nome totalmente qualificado para o namespace dos Hubs de Eventos. É provável que isso seja semelhante a "{your-namespace}.servicebus.windows.net".
eventHubName - O nome do Hub de Eventos ao qual conectar o cliente.
credential - A credencial de assinatura de acesso compartilhado a ser usada para autorização. Os controles de acesso podem ser especificados pelo namespace dos Hubs de Eventos ou pelo Hub de Eventos solicitado, dependendo da configuração do Azure.

Returns:

O objeto atualizado EventHubClientBuilder.

credential

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

Define as informações de credencial às quais a instância do Hub de Eventos se conectar e como autorizar nela.

Parameters:

fullyQualifiedNamespace - O nome totalmente qualificado para o namespace dos Hubs de Eventos. É provável que isso seja semelhante a "{your-namespace}.servicebus.windows.net".
eventHubName - O nome do Hub de Eventos ao qual conectar o cliente.
credential - A credencial de token a ser usada para autorização. Os controles de acesso podem ser especificados pelo namespace dos Hubs de Eventos ou pelo Hub de Eventos solicitado, dependendo da configuração do Azure.

Returns:

O objeto atualizado EventHubClientBuilder.

customEndpointAddress

public EventHubClientBuilder customEndpointAddress(String customEndpointAddress)

Define um endereço de ponto de extremidade personalizado ao se conectar ao serviço de Hubs de Eventos. Isso pode ser útil quando sua rede não permite a conexão com o endereço padrão do ponto de extremidade Hubs de Eventos do Azure, mas permite a conexão por meio de um intermediário. Por exemplo: https://my.custom.endpoint.com:55300.

Se nenhuma porta for especificada, a porta padrão para o transportType(AmqpTransportType transport) será usada.

Parameters:

customEndpointAddress - O endereço do ponto de extremidade personalizado.

Returns:

O objeto atualizado EventHubClientBuilder.

eventHubName

public EventHubClientBuilder eventHubName(String eventHubName)

Define o nome do Hub de Eventos ao qual conectar o cliente.

Parameters:

eventHubName - O nome do Hub de Eventos ao qual conectar o cliente.

Returns:

O objeto atualizado EventHubClientBuilder.

fullyQualifiedNamespace

public EventHubClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Define o nome totalmente qualificado para o namespace dos Hubs de Eventos.

Parameters:

fullyQualifiedNamespace - O nome totalmente qualificado para o namespace dos Hubs de Eventos. É provável que isso seja semelhante a "{your-namespace}.servicebus.windows.net".

Returns:

O objeto atualizado EventHubClientBuilder.

prefetchCount

public EventHubClientBuilder prefetchCount(int prefetchCount)

Define a contagem usada pelo receptor para controlar o número de eventos que o consumidor do Hub de Eventos receberá ativamente e fará fila localmente sem considerar se uma operação de recebimento está ativa no momento.

Parameters:

prefetchCount - A quantidade de eventos a serem enfileirados localmente.

Returns:

O objeto atualizado EventHubClientBuilder.

proxyOptions

public EventHubClientBuilder proxyOptions(ProxyOptions proxyOptions)

Define a configuração de proxy a ser usada para EventHubAsyncClient. Quando um proxy é configurado, AMQP_WEB_SOCKETS deve ser usado para o tipo de transporte.

Parameters:

proxyOptions - A configuração de proxy a ser usada.

Returns:

O objeto atualizado EventHubClientBuilder.

retry

@Deprecated
public EventHubClientBuilder retry(AmqpRetryOptions retryOptions)

Preterido

Define a política de repetição para EventHubAsyncClient. Se não for especificado, as opções de repetição padrão serão usadas.

Parameters:

retryOptions - A política de repetição a ser usada.

Returns:

O objeto atualizado EventHubClientBuilder.

retryOptions

public EventHubClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Define a política de repetição para EventHubAsyncClient. Se não for especificado, as opções de repetição padrão serão usadas.

Parameters:

retryOptions - A política de repetição a ser usada.

Returns:

O objeto atualizado EventHubClientBuilder.

shareConnection

public EventHubClientBuilder shareConnection()

Alterna o construtor para usar a mesma conexão para produtores ou consumidores criados com base nessa instância. Por padrão, uma nova conexão é construída e usada criada para cada consumidor ou produtor do Hub de Eventos criado.

Returns:

O objeto atualizado EventHubClientBuilder.

transportType

public EventHubClientBuilder transportType(AmqpTransportType transport)

Define o tipo de transporte pelo qual ocorre toda a comunicação com Hubs de Eventos do Azure. O valor padrão é AMQP.

Parameters:

transport - O tipo de transporte a ser usado.

Returns:

O objeto atualizado EventHubClientBuilder.

Aplica-se a