Partager via


EventHubProducerClient Classe

Définition

Client responsable de la publication EventData dans un Event Hub spécifique, regroupé par lots. Selon les options spécifiées lors de l’envoi, les événements peuvent se voir attribuer automatiquement une partition disponible ou demander une partition spécifique.

Le EventHubProducerClient publie immédiatement, garantissant un résultat déterministe pour chaque opération d’envoi, mais exige que les appelants soient responsables de la création et de la gestion des lots.

Dans les scénarios où il n’est pas important d’avoir des événements publiés immédiatement et où l’optimisation de la disponibilité des partitions n’est pas une exigence, il est recommandé d’envisager d’utiliser le EventHubBufferedProducerClient, qui prend la responsabilité de la génération et de la gestion des lots afin de réduire la complexité de cette opération dans le code d’application.

public class EventHubProducerClient : IAsyncDisposable
type EventHubProducerClient = class
    interface IAsyncDisposable
Public Class EventHubProducerClient
Implements IAsyncDisposable
Héritage
EventHubProducerClient
Implémente

Remarques

L’autorisation de l’attribution de partition est recommandée dans les cas suivants :

  • L’envoi d’événements doit être hautement disponible.
  • Les données d’événement doivent être réparties uniformément entre toutes les partitions disponibles.

Si aucune partition n’est spécifiée, les règles suivantes sont utilisées pour en sélectionner automatiquement une :

  1. Répartissez les événements de manière égale entre toutes les partitions disponibles à l’aide d’une approche de tourniquet (round robin).
  2. Si une partition devient indisponible, le service Event Hubs la détecte automatiquement et transfère le message vers une autre partition disponible.

Le EventHubProducerClient est sûr à mettre en cache et à utiliser pendant la durée de vie d’une application, ce qui est la meilleure pratique lorsque l’application publie des événements régulièrement ou semi-régulièrement. Le producteur est chargé de garantir une utilisation efficace du réseau, du processeur et de la mémoire. CloseAsync(CancellationToken) L’appel ou DisposeAsync() lorsque l’application s’arrête garantit que les ressources réseau et autres objets non managés sont correctement nettoyés.

Constructeurs

EventHubProducerClient()

Initialise une nouvelle instance de la classe EventHubProducerClient.

EventHubProducerClient(EventHubConnection, EventHubProducerClientOptions)

Initialise une nouvelle instance de la classe EventHubProducerClient.

EventHubProducerClient(String)

Initialise une nouvelle instance de la classe EventHubProducerClient.

EventHubProducerClient(String, EventHubProducerClientOptions)

Initialise une nouvelle instance de la classe EventHubProducerClient.

EventHubProducerClient(String, String)

Initialise une nouvelle instance de la classe EventHubProducerClient.

EventHubProducerClient(String, String, AzureNamedKeyCredential, EventHubProducerClientOptions)

Initialise une nouvelle instance de la classe EventHubProducerClient.

EventHubProducerClient(String, String, AzureSasCredential, EventHubProducerClientOptions)

Initialise une nouvelle instance de la classe EventHubProducerClient.

EventHubProducerClient(String, String, EventHubProducerClientOptions)

Initialise une nouvelle instance de la classe EventHubProducerClient.

EventHubProducerClient(String, String, TokenCredential, EventHubProducerClientOptions)

Initialise une nouvelle instance de la classe EventHubProducerClient.

Propriétés

EventHubName

Nom du hub d’événements auquel le producteur est connecté, spécifique à l’espace de noms Event Hubs qui le contient.

FullyQualifiedNamespace

Espace de noms Event Hubs complet auquel le producteur est associé. Cela est susceptible d’être similaire à {yournamespace}.servicebus.windows.net.

Identifier

Nom unique utilisé pour identifier ce producteur.

IsClosed

Indique si cette EventHubProducerClient opération a été fermée ou non.

Méthodes

CloseAsync(CancellationToken)

Ferme le producteur.

CreateBatchAsync(CancellationToken)

Crée un lot de contraintes de taille auquel EventData peut être ajouté à l’aide d’un modèle basé sur les tentatives. Si un événement dépasse la taille maximale autorisée du lot, le lot n’autorise pas l’ajout de l’événement et signale ce scénario à l’aide de sa valeur de retour.

Étant donné que les événements qui ne respectent pas la contrainte de taille ne peuvent pas être ajoutés, la publication d’un lot ne déclenche pas d’exception lors de la tentative d’envoi des événements au service Event Hubs.

CreateBatchAsync(CreateBatchOptions, CancellationToken)

Crée un lot de contraintes de taille auquel EventData peut être ajouté à l’aide d’un modèle basé sur les tentatives. Si un événement dépasse la taille maximale autorisée du lot, le lot n’autorise pas l’ajout de l’événement et signale ce scénario à l’aide de sa valeur de retour.

Étant donné que les événements qui ne respectent pas la contrainte de taille ne peuvent pas être ajoutés, la publication d’un lot ne déclenche pas d’exception lors de la tentative d’envoi des événements au service Event Hubs.

DisposeAsync()

Effectue la tâche nécessaire pour propre ressources utilisées par , EventHubProducerClientnotamment en s’assurant que le client lui-même a été fermé.

GetEventHubPropertiesAsync(CancellationToken)

Récupère des informations sur le hub d’événements auquel la connexion est associée, notamment le nombre de partitions présentes et leurs identificateurs.

GetPartitionIdsAsync(CancellationToken)

Récupère le jeu d’identificateurs pour les partitions d’un Event Hub.

GetPartitionPropertiesAsync(String, CancellationToken)

Récupère des informations sur une partition spécifique pour un Event Hub, y compris des éléments qui décrivent les événements disponibles dans le flux d’événements de partition.

SendAsync(EventDataBatch, CancellationToken)

Envoie un ensemble d’événements au hub d’événements associé à l’aide d’une approche par lots.

SendAsync(IEnumerable<EventData>, CancellationToken)

Envoie un ensemble d’événements au hub d’événements associé sous la forme d’une seule opération. Pour éviter la surcharge associée à la mesure et à la validation de la taille dans le client, la validation est déléguée au service Event Hubs et est différée jusqu’à ce que l’opération soit appelée. L’appel échoue si la taille de l’ensemble d’événements spécifié dépasse la taille maximale autorisée d’un seul lot.

SendAsync(IEnumerable<EventData>, SendEventOptions, CancellationToken)

Envoie un ensemble d’événements au hub d’événements associé sous la forme d’une seule opération. Pour éviter la surcharge associée à la mesure et à la validation de la taille dans le client, la validation est déléguée au service Event Hubs et est différée jusqu’à ce que l’opération soit appelée. L’appel échoue si la taille de l’ensemble d’événements spécifié dépasse la taille maximale autorisée d’un seul lot.

S’applique à

Voir aussi