Share via


EventHubClient Classe

Définition

Classe Anchor : toutes les opérations du client EventHub commencent ici. Consultez CreateFromConnectionString(String)

public abstract class EventHubClient : Microsoft.Azure.EventHubs.ClientEntity
type EventHubClient = class
    inherit ClientEntity
Public MustInherit Class EventHubClient
Inherits ClientEntity
Héritage
EventHubClient

Propriétés

ClientId

Obtient l’ID client.

(Hérité de ClientEntity)
EnableReceiverRuntimeMetric

Obtient ou définit une valeur indiquant si la métrique d’exécution d’un récepteur est activée.

EventHubName

Obtient le nom de l’EventHub.

IsClosed

Renvoie une valeur booléenne indiquant si l’objet client est fermé ou non.

(Hérité de ClientEntity)
RegisteredPlugins

Obtient la liste des plug-ins actuellement inscrits pour ce client.

(Hérité de ClientEntity)
RetryPolicy

Obtient le RetryPolicy pour clientEntity.

(Hérité de ClientEntity)
WebProxy

Obtient ou définit le proxy web. Un proxy s’applique uniquement lorsque le type de transport est défini sur AmqpWebSockets. S’ils ne sont pas définis, les paramètres de proxy à l’échelle du système sont respectés.

Méthodes

Close()

Ferme clientEntity.

(Hérité de ClientEntity)
CloseAsync()

Ferme et libère les ressources associées EventHubClientà .

Create(EventHubsConnectionStringBuilder)

Crée une instance du client Event Hubs à l’aide du générateur de chaînes de connexion spécifié.

CreateBatch()

Crée un lot dans lequel des objets de données d’événement peuvent être ajoutés pour un appel SendAsync ultérieur.

CreateBatch(BatchOptions)

Crée un lot dans lequel des objets de données d’événement peuvent être ajoutés pour un appel SendAsync ultérieur.

CreateEpochReceiver(String, String, EventPosition, Int64, ReceiverOptions)

Créez un récepteur EventHub basé sur Epoch avec donné EventPosition. Le récepteur est créé pour une partition EventHub spécifique à partir du groupe de consommateurs spécifique.

Il est important de prêter attention aux éléments suivants lors de la création d’un récepteur basé sur une époque :

- Application de la propriété : une fois que vous avez créé un récepteur basé sur une époque, vous ne pouvez pas créer un récepteur non d’époque dans le même combo consumerGroup-Partition tant que tous les récepteurs du combo ne sont pas fermés.

- Vol de propriété : si un récepteur avec une valeur d’époque plus élevée est créé pour un combo consumerGroup-Partition, tout récepteur d’époque plus ancien de ce combo est forcé de fermer.

- Tout récepteur fermé en raison d’une perte de propriété d’un combo consumerGroup-Partition obtient ReceiverDisconnectedException pour toutes les opérations de ce récepteur.
CreateFromConnectionString(String)

Crée une instance du client Event Hubs à l’aide de la chaîne de connexion spécifiée. Vous pouvez renseigner la propriété EntityPath avec le nom du hub d’événements.

CreatePartitionSender(String)

Créez un PartitionSender qui peut publier EventDatadirectement sur une partition EventHub spécifique (type d’expéditeur iii. dans la liste ci-dessous).

Il existe 3 modèles/façons d’envoyer à EventHubs :

i. SendAsync(EventData) ou SendAsync(IEnumerable<EventData>)

ii. SendAsync(EventData, String) ou SendAsync(IEnumerable<EventData>, String)

iii. SendAsync(EventData) ou SendAsync(IEnumerable<EventData>)

CreateReceiver(String, String, EventPosition, ReceiverOptions)

Créez le récepteur EventHub avec donné EventPosition. Le récepteur est créé pour une partition EventHub spécifique à partir du groupe de consommateurs spécifique.

CreateWithAzureActiveDirectory(Uri, String, AzureActiveDirectoryTokenProvider+AuthenticationCallback, String, Nullable<TimeSpan>, TransportType)

Crée une instance du à l’aide de l’authentification EventHubClient Azure Active Directory.

CreateWithManagedIdentity(Uri, String, Nullable<TimeSpan>, TransportType)

Crée un instance de à l’aide de l’authentification EventHubClient Azure Managed Identity.

CreateWithTokenProvider(Uri, String, ITokenProvider, Nullable<TimeSpan>, TransportType)

Crée une instance du client Event Hubs à l’aide du point de terminaison, du chemin d’accès d’entité et du fournisseur de jeton spécifiés.

GetPartitionRuntimeInformationAsync(String)

Récupère les informations d’exécution pour la partition spécifiée de l’Event Hub.

GetRuntimeInformationAsync()

Récupère les informations du runtime EventHub

OnCloseAsync()

Classe Anchor : toutes les opérations du client EventHub commencent ici. Consultez CreateFromConnectionString(String)

OnCreateReceiver(String, String, EventPosition, Nullable<Int64>, ReceiverOptions)

Classe Anchor : toutes les opérations du client EventHub commencent ici. Consultez CreateFromConnectionString(String)

OnGetPartitionRuntimeInformationAsync(String)

Classe Anchor : toutes les opérations du client EventHub commencent ici. Consultez CreateFromConnectionString(String)

OnGetRuntimeInformationAsync()

Classe Anchor : toutes les opérations du client EventHub commencent ici. Consultez CreateFromConnectionString(String)

OnRetryPolicyUpdate()

Gérez ici les mises à jour de stratégie de nouvelle tentative.

RegisterPlugin(EventHubsPlugin)

Inscrit un EventHubsPlugin à utiliser avec ce client.

(Hérité de ClientEntity)
SendAsync(EventData)

Envoyer EventData à EventHub. L’EventData envoyé atterrit sur n’importe quelle partition EventHubs choisie arbitrairement.

Il existe 3 façons d’envoyer à EventHubs, chacune exposée en tant que méthode (avec sa surcharge sendBatch) :

i. SendAsync(EventData) ou SendAsync(IEnumerable<EventData>)

ii. SendAsync(EventData, String) ou SendAsync(IEnumerable<EventData>, String)

iii. SendAsync(EventData) ou SendAsync(IEnumerable<EventData>)

Utilisez cette méthode pour envoyer si :

a) l’opération SendAsync(EventData) doit être hautement disponible et

b) les données doivent être réparties uniformément entre toutes les partitions ; exception étant, lorsqu’un sous-ensemble de partitions n’est pas disponible

SendAsync(EventData) envoie le EventData à une passerelle de service, qui à son tour transfère EventData vers l’une des partitions de l’EventHub. Voici l’algorithme de transfert de messages :

i. Transférez les EventDatas vers les partitions EventHub, en répartissant de façon égale les données entre toutes les partitions (par exemple, round-robin les EventDatas à toutes les partitions EventHub)

ii. Si l’une des partitions EventHub n’est pas disponible pendant un moment, la passerelle de service la détecte automatiquement et transfère le message vers une autre partition disponible, ce qui rend l’opération d’envoi hautement disponible.

SendAsync(EventData, String)

Envoie un 'EventData avec une partitionKey à EventHub. Tous les EventDataavec partitionKey sont garantis pour atterrir sur la même partition. Ce modèle d’envoi met l’accent sur la corrélation des données sur la disponibilité générale et la latence.

Il existe 3 façons d’envoyer à EventHubs, chacune exposée en tant que méthode (avec sa surcharge par lots) :

i. SendAsync(EventData) ou SendAsync(IEnumerable<EventData>)

ii. SendAsync(EventData, String) ou SendAsync(IEnumerable<EventData>, String)

iii. SendAsync(EventData) ou SendAsync(IEnumerable<EventData>)

Utilisez ce type d’envoi si :

a) Il est nécessaire d’établir une corrélation entre les événements en fonction des instance de l’expéditeur ; L’expéditeur peut générer un UniqueId et le définir comme partitionKey, qui sur le message reçu peut être utilisé pour la corrélation

b) Le client souhaite prendre le contrôle de la distribution des données entre les partitions.

Plusieurs PartitionKeys peuvent être mappées à une seule partition. Le service EventHubs utilise un algorithme de hachage propriétaire pour mapper partitionKey à un PartitionId. L’utilisation de ce type d’envoi (envoi à l’aide d’une partitionKey spécifique) peut parfois entraîner des partitions qui ne sont pas distribuées uniformément.
SendAsync(EventDataBatch)

Envoyez un lot de EventData dans EventDataBatch.

SendAsync(IEnumerable<EventData>)

Envoyez un lot de EventData à EventHub. L’EventData envoyé atterrit sur toute partition EventHub choisie arbitrairement. Il s’agit de la méthode la plus recommandée pour envoyer à EventHub.

Il existe 3 façons d’envoyer à EventHubs, pour comprendre ce type particulier d’envoi, reportez-vous à la surcharge SendAsync(EventData), qui est utilisée pour envoyer un seul EventData. Utilisez cette surcharge si vous devez envoyer un lot de EventData.

L’envoi d’un lot de EventDataest utile dans les cas suivants :

i. Envoi efficace : l’envoi d’un lot de permet d’optimiser EventData le débit global en utilisant de manière optimale le nombre de sessions créées pour le service d’EventHub.

ii. Envoyer plusieurs EventDatadans une transaction. Pour obtenir les propriétés ACID, le service de passerelle transfère tous les EventDataéléments du lot vers une seule partition EventHub.

SendAsync(IEnumerable<EventData>, String)

Envoyez un « lot de EventData avec la même partitionKey » à EventHub. Tous les EventDataavec partitionKey sont garantis pour atterrir sur la même partition. Plusieurs PartitionKey seront mappés à une partition.

Il existe 3 façons d’envoyer à EventHubs, pour comprendre ce type particulier d’envoi, reportez-vous à la surcharge SendAsync(EventData, String), qui est le même type d’envoi et est utilisé pour envoyer un seul EventData.

L’envoi d’un lot de EventDataest utile dans les cas suivants :

i. Envoi efficace : l’envoi d’un lot de permet d’optimiser EventData le débit global en utilisant de manière optimale le nombre de sessions créées pour le service EventHubs.

ii. Envoi de plusieurs événements dans Une seule transaction. C’est la raison pour laquelle tous les événements envoyés dans un lot doivent avoir la même partitionKey (afin qu’ils soient envoyés à une seule partition).

ThrowIfClosed()

Lève une exception si l’objet client est déjà fermé.

(Hérité de ClientEntity)
UnregisterPlugin(String)

Annule l’inscription d’un EventHubsPlugin.

(Hérité de ClientEntity)

S’applique à