EventHubClientBuilder Classe
- java.
lang. Object - com.
azure. messaging. eventhubs. EventHubClientBuilder
- com.
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:
- connectionString(String connectionString) com uma cadeia de conexão para um Hub de Eventos específico.
- connectionString(String connectionString, String eventHubName) com uma cadeia de conexão de namespace do Hub de Eventos e o nome do Hub de Eventos.
- credential(String fullyQualifiedNamespace, String eventHubName, TokenCredential credential) com o namespace totalmente qualificado, o nome do Hub de Eventos e um conjunto de credenciais autorizadas a usar o Hub de Eventos.
- credential(String fullyQualifiedNamespace, String eventHubName, AzureSasCredential credential) com o namespace totalmente qualificado, o nome do Hub de Eventos e uma assinatura de acesso compartilhado para o Hub de Eventos.
- credential(String fullyQualifiedNamespace, String eventHubName, AzureNamedKeyCredential credential) com o namespace totalmente qualificado, o nome do Hub de Eventos e uma credencial de chave nomeada. A chave nomeada pode ser encontrada no Portal do Azure navegando até o recurso hub de eventos, selecionando "Políticas de acesso compartilhado" na seção Configurações.
- credential(TokenCredential credential)As sobrecargas , credential(AzureSasCredential credential)e credential(AzureNamedKeyCredential credential) podem ser usadas com suas respectivas credenciais. fullyQualifiedNamespace(String fullyQualifiedNamespace) e eventHubName(String eventHubName) também devem ser definidos.
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 |
---|---|
Event |
buildAsyncConsumerClient()
Cria um novo EventHubConsumerAsyncClient com base nas opções definidas nesse construtor. |
Event |
buildAsyncProducerClient()
Cria um novo EventHubProducerAsyncClient com base nas opções definidas nesse construtor. |
Event |
buildConsumerClient()
Cria um novo EventHubConsumerClient com base nas opções definidas nesse construtor. |
Event |
buildProducerClient()
Cria um novo EventHubProducerClient com base nas opções definidas nesse construtor. |
Event |
clientOptions(ClientOptions clientOptions)
Define as opções do cliente. |
Event |
configuration(Configuration configuration)
Define o repositório de configuração usado durante a construção do cliente de serviço. |
Event |
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. |
Event |
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. |
Event |
consumerGroup(String consumerGroup)
Define o nome do grupo de consumidores ao qual esse consumidor está associado. |
Event |
credential(AzureNamedKeyCredential credential)
Define as informações de credencial às quais a instância do Hub de Eventos se conectar e como autorizar nela. |
Event |
credential(AzureSasCredential credential)
Define as informações de credencial às quais a instância do Hub de Eventos se conectar e como autorizar nela. |
Event |
credential(TokenCredential credential)
Define o TokenCredential usado para autorizar solicitações enviadas ao serviço. |
Event |
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. |
Event |
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. |
Event |
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. |
Event |
customEndpointAddress(String customEndpointAddress)
Define um endereço de ponto de extremidade personalizado ao se conectar ao serviço de Hubs de Eventos. |
Event |
eventHubName(String eventHubName)
Define o nome do Hub de Eventos ao qual conectar o cliente. |
Event |
fullyQualifiedNamespace(String fullyQualifiedNamespace)
Define o nome totalmente qualificado para o namespace dos Hubs de Eventos. |
Event |
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. |
Event |
proxyOptions(ProxyOptions proxyOptions)
Define a configuração de proxy a ser usada para EventHubAsyncClient. |
Event |
retry(AmqpRetryOptions retryOptions)
Preterido
Substituído por retryOptions(AmqpRetryOptions retryOptions).
Define a política de repetição para EventHubAsyncClient. |
Event |
retryOptions(AmqpRetryOptions retryOptions)
Define a política de repetição para EventHubAsyncClient. |
Event |
shareConnection()
Alterna o construtor para usar a mesma conexão para produtores ou consumidores criados com base nessa instância. |
Event |
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:
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:
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:
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:
clientOptions
public EventHubClientBuilder clientOptions(ClientOptions clientOptions)
Define as opções do cliente.
Parameters:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
eventHubName
public EventHubClientBuilder eventHubName(String eventHubName)
Define o nome do Hub de Eventos ao qual conectar o cliente.
Parameters:
Returns:
fullyQualifiedNamespace
public EventHubClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)
Define o nome totalmente qualificado para o namespace dos Hubs de Eventos.
Parameters:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
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:
Returns:
Aplica-se a
Azure SDK for Java