EventHubClientBuilder Classe
- java.
lang. Object - com.
azure. messaging. eventhubs. EventHubClientBuilder
- com.
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 :
- connectionString(String connectionString) avec une chaîne de connexion à un Event Hub spécifique.
- connectionString(String connectionString, String eventHubName) avec une chaîne de connexion d’espace de noms Event Hub et le nom du hub d’événements.
- credential(String fullyQualifiedNamespace, String eventHubName, TokenCredential credential) avec l’espace de noms complet, le nom du hub d’événements et un ensemble d’informations d’identification autorisées à utiliser le hub d’événements.
- credential(String fullyQualifiedNamespace, String eventHubName, AzureSasCredential credential) avec l’espace de noms complet, le nom du hub d’événements et une signature d’accès partagé pour le hub d’événements.
- credential(String fullyQualifiedNamespace, String eventHubName, AzureNamedKeyCredential credential) avec l’espace de noms complet, le nom Event Hub et les informations d’identification de la clé nommée. La clé nommée se trouve dans le portail Azure en accédant à la ressource Event Hub, en sélectionnant « Stratégies d’accès partagé » sous la section Paramètres.
- credential(TokenCredential credential)Les surcharges , credential(AzureSasCredential credential)et credential(AzureNamedKeyCredential credential) peuvent être utilisées avec leurs informations d’identification respectives. fullyQualifiedNamespace(String fullyQualifiedNamespace) et eventHubName(String eventHubName) doivent également être définis.
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 |
---|---|
Event |
buildAsyncConsumerClient()
Crée un nouveau EventHubConsumerAsyncClient en fonction des options définies sur ce générateur. |
Event |
buildAsyncProducerClient()
Crée un nouveau EventHubProducerAsyncClient basé sur les options définies sur ce générateur. |
Event |
buildConsumerClient()
Crée un nouveau EventHubConsumerClient en fonction des options définies sur ce générateur. |
Event |
buildProducerClient()
Crée un nouveau EventHubProducerClient basé sur les options définies sur ce générateur. |
Event |
clientOptions(ClientOptions clientOptions)
Définit les options du client. |
Event |
configuration(Configuration configuration)
Définit le magasin de configuration utilisé pendant la construction du client de service. |
Event |
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. |
Event |
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. |
Event |
consumerGroup(String consumerGroup)
Définit le nom du groupe de consommateurs auquel ce consommateur est associé. |
Event |
credential(AzureNamedKeyCredential credential)
Définit les informations d’identification pour lesquelles Event Hub instance à laquelle se connecter et comment l’autoriser. |
Event |
credential(AzureSasCredential credential)
Définit les informations d’identification pour lesquelles Event Hub instance à laquelle se connecter et comment l’autoriser. |
Event |
credential(TokenCredential credential)
Définit le TokenCredential utilisé pour autoriser les requêtes envoyées au service. |
Event |
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. |
Event |
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. |
Event |
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. |
Event |
customEndpointAddress(String customEndpointAddress)
Définit une adresse de point de terminaison personnalisée lors de la connexion au service Event Hubs. |
Event |
eventHubName(String eventHubName)
Définit le nom du hub d’événements auquel connecter le client. |
Event |
fullyQualifiedNamespace(String fullyQualifiedNamespace)
Définit le nom complet de l’espace de noms Event Hubs. |
Event |
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. |
Event |
proxyOptions(ProxyOptions proxyOptions)
Définit la configuration du proxy à utiliser pour EventHubAsyncClient. |
Event |
retry(AmqpRetryOptions retryOptions)
Déprécié
Remplacé par retryOptions(AmqpRetryOptions retryOptions).
Définit la stratégie de nouvelle tentative pour EventHubAsyncClient. |
Event |
retryOptions(AmqpRetryOptions retryOptions)
Définit la stratégie de nouvelle tentative pour EventHubAsyncClient. |
Event |
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. |
Event |
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:
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:
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:
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:
clientOptions
public EventHubClientBuilder clientOptions(ClientOptions clientOptions)
Définit les options du client.
Parameters:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
eventHubName
public EventHubClientBuilder eventHubName(String eventHubName)
Définit le nom du hub d’événements auquel connecter le client.
Parameters:
Returns:
fullyQualifiedNamespace
public EventHubClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)
Définit le nom complet de l’espace de noms Event Hubs.
Parameters:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
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:
Returns:
S’applique à
Azure SDK for Java