EventHubProducerClient Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 :
- Répartissez les événements de manière égale entre toutes les partitions disponibles à l’aide d’une approche de tourniquet (round robin).
- 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
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 à |
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
Azure SDK for .NET