Partager via


EventHubClientBuilder Classe

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

Implémente

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

Cette classe fournit une API Fluent Builder pour faciliter l’instanciation de EventHubProducerAsyncClient, EventHubProducerClient, EventHubConsumerAsyncClientet EventHubConsumerClient. L’appel de l’une des .build*Client() méthodes crée une instance du client respectif.

Des informations d’identification sont requises pour effectuer des opérations sur Azure Event Hubs. Ils peuvent être définis à l’aide de l’une des méthodes suivantes :

En outre, est requis lors de la consumerGroup(String consumerGroup) création de EventHubConsumerAsyncClient ou EventHubConsumerClient.

Les informations d’identification utilisées dans les exemples suivants sont destinées à l’authentification DefaultAzureCredential . Il convient à la plupart des scénarios, y compris aux environnements de développement et de production locaux. En outre, nous vous recommandons d’utiliser une identité managée pour l’authentification dans les environnements de production. Vous trouverez plus d’informations sur les différentes méthodes d’authentification et leurs types d’informations d’identification correspondants dans la documentation Azure Identity.

Exemple : Construire un EventHubProducerAsyncClient

L’exemple de code suivant illustre la création du client EventHubProducerAsyncClientasynchrone . fullyQualifiedNamespace est le nom d’hôte de l’espace de noms Event Hubs. Il est répertorié sous le panneau « Essentials » après avoir accédé à l’espace de noms Event Hubs via le portail Azure. Les informations d’identification utilisées sont DefaultAzureCredential dues au fait qu’elles combinent les informations d’identification couramment utilisées dans le déploiement et le développement, et qu’elles choisissent les informations d’identification à utiliser en fonction de leur environnement d’exécution.

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

Exemple : Construire un EventHubConsumerAsyncClient

L’exemple de code suivant illustre la création du client EventHubConsumerAsyncClientasynchrone . fullyQualifiedNamespace est le nom d’hôte de l’espace de noms Event Hubs. Il est répertorié sous le panneau « Essentials » après avoir accédé à l’espace de noms Event Hubs via le portail Azure. Le consumerGroup est trouvé en accédant à l’instance Event Hub et en sélectionnant « Groupes de consommateurs » sous le panneau « Entités ». est consumerGroup(String consumerGroup) requis pour créer des clients consommateurs. Les informations d’identification utilisées sont DefaultAzureCredential dues au fait qu’elles combinent les informations d’identification couramment utilisées dans le déploiement et le développement, et qu’elles choisissent les informations d’identification à utiliser en fonction de leur environnement d’exécution.

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

Exemple : Création d’un client à l’aide de sockets web et d’options de nouvelle tentative personnalisées

Par défaut, le port AMQP 5671 est utilisé, mais les clients peuvent utiliser des sockets web, le port 443. Les clients peuvent remplacer par default retry options leur propre stratégie. Les options de nouvelle tentative sont utilisées lors de la récupération suite à des défaillances temporaires dans la connexion AMQP sous-jacente et lors de l’exécution de toutes les opérations qui nécessitent une réponse du service.

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

Exemple : Création de producteurs et de consommateurs qui partagent la même connexion

Par défaut, une connexion dédiée est créée pour chaque producteur et consommateur créé à partir du générateur. Si les utilisateurs souhaitent utiliser la même connexion sous-jacente, ils peuvent activer/désactiver shareConnection(). Cette connexion sous-jacente est fermée lorsque tous les clients créés à partir de ce générateur instance sont supprimés.

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

Récapitulatif du champ

Modificateur et type Champ et description
static final String DEFAULT_CONSUMER_GROUP_NAME

Nom du groupe de consommateurs par défaut dans le service Event Hubs.

Récapitulatif du constructeur

Constructeur Description
EventHubClientBuilder()

Crée un instance avec le transport AMQP par défaut et une connexion non partagée.

Résumé de la méthode

Modificateur et type Méthode et description
EventHubConsumerAsyncClient buildAsyncConsumerClient()

Crée un nouveau EventHubConsumerAsyncClient en fonction des options définies sur ce générateur.

EventHubProducerAsyncClient buildAsyncProducerClient()

Crée un nouveau EventHubProducerAsyncClient basé sur les options définies sur ce générateur.

EventHubConsumerClient buildConsumerClient()

Crée un nouveau EventHubConsumerClient en fonction des options définies sur ce générateur.

EventHubProducerClient buildProducerClient()

Crée un nouveau EventHubProducerClient basé sur les options définies sur ce générateur.

EventHubClientBuilder clientOptions(ClientOptions clientOptions)

Définit les options du client.

EventHubClientBuilder configuration(Configuration configuration)

Définit le magasin de configuration utilisé pendant la construction du client de service.

EventHubClientBuilder connectionString(String connectionString)

Définit les informations d’identification d’une chaîne de connexion au instance Event Hub ou à l’espace de noms Event Hubs.

EventHubClientBuilder connectionString(String connectionString, String eventHubName)

Définit les informations d’identification d’une chaîne de connexion à l’espace de noms Event Hubs et le nom d’un instance Event Hub spécifique.

EventHubClientBuilder consumerGroup(String consumerGroup)

Définit le nom du groupe de consommateurs auquel ce consommateur est associé.

EventHubClientBuilder credential(AzureNamedKeyCredential credential)

Définit les informations d’identification pour lesquelles Event Hub instance à laquelle se connecter et comment l’autoriser.

EventHubClientBuilder credential(AzureSasCredential credential)

Définit les informations d’identification pour lesquelles Event Hub instance à laquelle se connecter et comment l’autoriser.

EventHubClientBuilder credential(TokenCredential credential)

Définit le TokenCredential utilisé pour autoriser les requêtes envoyées au service.

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

Définit les informations d’identification pour lesquelles Event Hub instance à laquelle se connecter et comment l’autoriser.

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

Définit les informations d’identification pour lesquelles Event Hub instance à laquelle se connecter et comment l’autoriser.

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

Définit les informations d’identification pour lesquelles Event Hub instance à laquelle se connecter et comment l’autoriser.

EventHubClientBuilder customEndpointAddress(String customEndpointAddress)

Définit une adresse de point de terminaison personnalisée lors de la connexion au service Event Hubs.

EventHubClientBuilder eventHubName(String eventHubName)

Définit le nom du hub d’événements auquel connecter le client.

EventHubClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Définit le nom complet de l’espace de noms Event Hubs.

EventHubClientBuilder prefetchCount(int prefetchCount)

Définit le nombre utilisé par le récepteur pour contrôler le nombre d’événements que le consommateur Event Hub recevra activement et mettra en file d’attente localement, sans tenir compte si une opération de réception est actuellement active.

EventHubClientBuilder proxyOptions(ProxyOptions proxyOptions)

Définit la configuration du proxy à utiliser pour EventHubAsyncClient.

EventHubClientBuilder retry(AmqpRetryOptions retryOptions)

Déprécié

Définit la stratégie de nouvelle tentative pour EventHubAsyncClient.

EventHubClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Définit la stratégie de nouvelle tentative pour EventHubAsyncClient.

EventHubClientBuilder shareConnection()

Active le générateur pour qu’il utilise la même connexion pour les producteurs ou les consommateurs qui sont créés à partir de cette instance.

EventHubClientBuilder transportType(AmqpTransportType transport)

Définit le type de transport par lequel toutes les communications avec Azure Event Hubs se produisent.

Méthodes héritées de java.lang.Object

Détails du champ

DEFAULT_CONSUMER_GROUP_NAME

public static final String DEFAULT_CONSUMER_GROUP_NAME

Nom du groupe de consommateurs par défaut dans le service Event Hubs.

Détails du constructeur

EventHubClientBuilder

public EventHubClientBuilder()

Crée un instance avec le transport AMQP par défaut et une connexion non partagée. Une connexion non partagée signifie qu’une connexion AMQP dédiée est créée pour chaque consommateur ou producteur Event Hub créé à l’aide du générateur.

Détails de la méthode

buildAsyncConsumerClient

public EventHubConsumerAsyncClient buildAsyncConsumerClient()

Crée un nouveau EventHubConsumerAsyncClient en fonction des options définies sur ce générateur. buildAsyncConsumer() À chaque appel, une nouvelle instance de EventHubConsumerAsyncClient est créée.

Returns:

Nouveau EventHubConsumerAsyncClient avec les options configurées.

buildAsyncProducerClient

public EventHubProducerAsyncClient buildAsyncProducerClient()

Crée un nouveau EventHubProducerAsyncClient basé sur les options définies sur ce générateur. buildAsyncProducer() À chaque appel, une nouvelle instance de EventHubProducerAsyncClient est créée.

Returns:

Une nouvelle EventHubProducerAsyncClient instance avec toutes les options configurées.

buildConsumerClient

public EventHubConsumerClient buildConsumerClient()

Crée un nouveau EventHubConsumerClient en fonction des options définies sur ce générateur. buildConsumer() À chaque appel, une nouvelle instance de EventHubConsumerClient est créée.

Returns:

Nouveau EventHubConsumerClient avec les options configurées.

buildProducerClient

public EventHubProducerClient buildProducerClient()

Crée un nouveau EventHubProducerClient basé sur les options définies sur ce générateur. buildAsyncProducer() À chaque appel, une nouvelle instance de EventHubProducerClient est créée.

Returns:

Une nouvelle EventHubProducerClient instance avec toutes les options configurées.

clientOptions

public EventHubClientBuilder clientOptions(ClientOptions clientOptions)

Définit les options du client.

Parameters:

clientOptions - Options du client.

Returns:

Objet mis à jour EventHubClientBuilder .

configuration

public EventHubClientBuilder configuration(Configuration configuration)

Définit le magasin de configuration utilisé pendant la construction du client de service. S’il n’est pas spécifié, le magasin de configuration par défaut est utilisé pour configurer .EventHubAsyncClient Utilisez NONE pour contourner l’utilisation des paramètres de configuration pendant la construction.

Parameters:

configuration - Magasin de configuration utilisé pour configurer .EventHubAsyncClient

Returns:

Objet mis à jour EventHubClientBuilder .

connectionString

public EventHubClientBuilder connectionString(String connectionString)

Définit les informations d’identification d’une chaîne de connexion au instance Event Hub ou à l’espace de noms Event Hubs.

Si la chaîne de connexion est copiée à partir de l’espace de noms Event Hubs, elle ne contiendra probablement pas le nom du hub d’événements souhaité, ce qui est nécessaire. Dans ce cas, le nom peut être ajouté manuellement en ajoutant « EntityPath=EVENT_HUB_NAME » à la fin de la chaîne de connexion. Par exemple, « EntityPath=telemetry-hub ».

Si vous avez défini une stratégie d’accès partagé directement sur l’Event Hub lui-même, la copie de la chaîne de connexion à partir de ce hub d’événements entraîne une chaîne de connexion qui contient le nom.

Parameters:

connectionString - Chaîne de connexion à utiliser pour la connexion au instance Event Hub ou event Hubs instance. Il est attendu que le nom du hub d’événements et les propriétés de la clé d’accès partagé soient contenues dans cette chaîne de connexion.

Returns:

Objet mis à jour EventHubClientBuilder .

connectionString

public EventHubClientBuilder connectionString(String connectionString, String eventHubName)

Définit les informations d’identification d’une chaîne de connexion à l’espace de noms Event Hubs et le nom d’un instance Event Hub spécifique.

Parameters:

connectionString - Chaîne de connexion à utiliser pour la connexion à l’espace de noms Event Hubs ; il est attendu que les propriétés de la clé d’accès partagé soient contenues dans cette chaîne de connexion, mais pas dans le nom Event Hub.
eventHubName - Nom du hub d’événements auquel connecter le client.

Returns:

Objet mis à jour EventHubClientBuilder .

consumerGroup

public EventHubClientBuilder consumerGroup(String consumerGroup)

Définit le nom du groupe de consommateurs auquel ce consommateur est associé. Les événements sont lus dans le contexte de ce groupe. Le nom du groupe de consommateurs créé par défaut est DEFAULT_CONSUMER_GROUP_NAME.

Parameters:

consumerGroup - Nom du groupe de consommateurs auquel ce consommateur est associé. Les événements sont lus dans le contexte de ce groupe. Le nom du groupe de consommateurs créé par défaut est <xref uid="com.azure.messaging.eventhubs.EventHubClientBuilder.DEFAULT_CONSUMER_GROUP_NAME » data-throw-if-not-resolved="false » data-raw-source=""$Default" ».>

Returns:

Objet mis à jour EventHubClientBuilder .

credential

public EventHubClientBuilder credential(AzureNamedKeyCredential credential)

Définit les informations d’identification pour lesquelles Event Hub instance à laquelle se connecter et comment l’autoriser.

Parameters:

credential - Nom d’accès partagé et informations d’identification de clé à utiliser pour l’autorisation. Les contrôles d’accès peuvent être spécifiés par l’espace de noms Event Hubs ou le hub d’événements demandé, en fonction de la configuration Azure.

Returns:

Objet mis à jour EventHubClientBuilder .

credential

public EventHubClientBuilder credential(AzureSasCredential credential)

Définit les informations d’identification pour lesquelles Event Hub instance à laquelle se connecter et comment l’autoriser.

Parameters:

credential - Informations d’identification de signature d’accès partagé à utiliser pour l’autorisation. Les contrôles d’accès peuvent être spécifiés par l’espace de noms Event Hubs ou le hub d’événements demandé, en fonction de la configuration Azure.

Returns:

Objet mis à jour EventHubClientBuilder .

credential

public EventHubClientBuilder credential(TokenCredential credential)

Définit le TokenCredential utilisé pour autoriser les requêtes envoyées au service. Pour plus d’informations sur l’utilisation appropriée du type, consultez la documentation sur l’identité et l’authentification du TokenCredential Kit de développement logiciel (SDK) Azure pour Java.

Parameters:

credential - Informations d’identification du jeton à utiliser pour l’autorisation. Les contrôles d’accès peuvent être spécifiés par l’espace de noms Event Hubs ou le hub d’événements demandé, en fonction de la configuration Azure.

Returns:

Objet mis à jour EventHubClientBuilder .

credential

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

Définit les informations d’identification pour lesquelles Event Hub instance à laquelle se connecter et comment l’autoriser.

Parameters:

fullyQualifiedNamespace - Nom complet de l’espace de noms Event Hubs. Cela est susceptible d’être similaire à « {votre-espace de noms}.servicebus.windows.net ».
eventHubName - Nom du hub d’événements auquel connecter le client.
credential - Nom d’accès partagé et informations d’identification de clé à utiliser pour l’autorisation. Les contrôles d’accès peuvent être spécifiés par l’espace de noms Event Hubs ou le hub d’événements demandé, en fonction de la configuration Azure.

Returns:

Objet mis à jour EventHubClientBuilder .

credential

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

Définit les informations d’identification pour lesquelles Event Hub instance à laquelle se connecter et comment l’autoriser.

Parameters:

fullyQualifiedNamespace - Nom complet de l’espace de noms Event Hubs. Cela est susceptible d’être similaire à « {votre-espace de noms}.servicebus.windows.net ».
eventHubName - Nom du hub d’événements auquel connecter le client.
credential - Informations d’identification de signature d’accès partagé à utiliser pour l’autorisation. Les contrôles d’accès peuvent être spécifiés par l’espace de noms Event Hubs ou le hub d’événements demandé, en fonction de la configuration Azure.

Returns:

Objet mis à jour EventHubClientBuilder .

credential

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

Définit les informations d’identification pour lesquelles Event Hub instance à laquelle se connecter et comment l’autoriser.

Parameters:

fullyQualifiedNamespace - Nom complet de l’espace de noms Event Hubs. Cela est susceptible d’être similaire à « {votre-espace de noms}.servicebus.windows.net ».
eventHubName - Nom du hub d’événements auquel connecter le client.
credential - Informations d’identification du jeton à utiliser pour l’autorisation. Les contrôles d’accès peuvent être spécifiés par l’espace de noms Event Hubs ou le hub d’événements demandé, en fonction de la configuration Azure.

Returns:

Objet mis à jour EventHubClientBuilder .

customEndpointAddress

public EventHubClientBuilder customEndpointAddress(String customEndpointAddress)

Définit une adresse de point de terminaison personnalisée lors de la connexion au service Event Hubs. Cela peut être utile lorsque votre réseau n’autorise pas la connexion à l’adresse de point de terminaison standard Azure Event Hubs, mais autorise la connexion via un intermédiaire. Par exemple : https://my.custom.endpoint.com:55300.

Si aucun port n’est spécifié, le port par défaut de est transportType(AmqpTransportType transport) utilisé.

Parameters:

customEndpointAddress - Adresse de point de terminaison personnalisée.

Returns:

Objet mis à jour EventHubClientBuilder .

eventHubName

public EventHubClientBuilder eventHubName(String eventHubName)

Définit le nom du hub d’événements auquel connecter le client.

Parameters:

eventHubName - Nom du hub d’événements auquel connecter le client.

Returns:

Objet mis à jour EventHubClientBuilder .

fullyQualifiedNamespace

public EventHubClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Définit le nom complet de l’espace de noms Event Hubs.

Parameters:

fullyQualifiedNamespace - Nom complet de l’espace de noms Event Hubs. Cela est susceptible d’être similaire à « {votre-espace de noms}.servicebus.windows.net ».

Returns:

Objet mis à jour EventHubClientBuilder .

prefetchCount

public EventHubClientBuilder prefetchCount(int prefetchCount)

Définit le nombre utilisé par le récepteur pour contrôler le nombre d’événements que le consommateur Event Hub recevra activement et mettra en file d’attente localement, sans tenir compte si une opération de réception est actuellement active.

Parameters:

prefetchCount - Quantité d’événements à mettre en file d’attente localement.

Returns:

Objet mis à jour EventHubClientBuilder .

proxyOptions

public EventHubClientBuilder proxyOptions(ProxyOptions proxyOptions)

Définit la configuration du proxy à utiliser pour EventHubAsyncClient. Lorsqu’un proxy est configuré, AMQP_WEB_SOCKETS doit être utilisé pour le type de transport.

Parameters:

proxyOptions - Configuration du proxy à utiliser.

Returns:

Objet mis à jour EventHubClientBuilder .

retry

@Deprecated
public EventHubClientBuilder retry(AmqpRetryOptions retryOptions)

Déprécié

Définit la stratégie de nouvelle tentative pour EventHubAsyncClient. Si elle n’est pas spécifiée, les options de nouvelle tentative par défaut sont utilisées.

Parameters:

retryOptions - Stratégie de nouvelle tentative à utiliser.

Returns:

Objet mis à jour EventHubClientBuilder .

retryOptions

public EventHubClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Définit la stratégie de nouvelle tentative pour EventHubAsyncClient. Si elle n’est pas spécifiée, les options de nouvelle tentative par défaut sont utilisées.

Parameters:

retryOptions - Stratégie de nouvelle tentative à utiliser.

Returns:

Objet mis à jour EventHubClientBuilder .

shareConnection

public EventHubClientBuilder shareConnection()

Active le générateur pour qu’il utilise la même connexion pour les producteurs ou les consommateurs qui sont créés à partir de cette instance. Par défaut, une nouvelle connexion est construite et utilisée créée pour chaque consommateur ou producteur Event Hub créé.

Returns:

Objet mis à jour EventHubClientBuilder .

transportType

public EventHubClientBuilder transportType(AmqpTransportType transport)

Définit le type de transport par lequel toutes les communications avec Azure Event Hubs se produisent. La valeur par défaut est AMQP.

Parameters:

transport - Type de transport à utiliser.

Returns:

Objet mis à jour EventHubClientBuilder .

S’applique à