Partager via


@azure/event-hubs package

Classes

EventHubBufferedProducerClient

est EventHubBufferedProducerClientutilisé pour publier des événements sur un Event Hub spécifique.

ne EventHubBufferedProducerClient publie pas les événements immédiatement. Au lieu de cela, les événements sont mis en mémoire tampon afin qu’ils puissent être efficacement lotés et publiés lorsque le lot est saturé ou que le maxWaitTimeInMs s’est écoulé sans qu’aucun nouvel événement ne soit mis en file d’attente.

Selon les options spécifiées lorsque les événements sont mis en file d’attente, ils peuvent être automatiquement attribués à une partition, regroupés en fonction de la clé de partition spécifiée ou affectés à une partition spécifiquement demandée.

Ce modèle est destiné à déplacer la charge de gestion des lots des appelants, au prix d’un minutage non déterministe, pour déterminer quand les événements seront publiés. D’autres compromis doivent également être considérés :

  • Si l’application se bloque, les événements dans la mémoire tampon n’ont pas été publiés. Pour éviter la perte de données, les appelants sont encouragés à suivre la progression de la publication à l’aide des onSendEventsSuccessHandler gestionnaires et onSendEventsErrorHandler .
  • Les événements spécifiant une clé de partition peuvent se voir attribuer une partition différente de celles qui utilisent la même clé avec d’autres producteurs.
  • Dans le cas peu probable où une partition devient temporairement indisponible, la EventHubBufferedProducerClient récupération peut prendre plus de temps que d’autres producteurs.

Dans les scénarios où il est important que les événements soient publiés immédiatement avec un résultat déterministe, assurez-vous que les clés de partition sont affectées à une partition cohérente avec d’autres éditeurs, ou lorsque l’optimisation de la disponibilité est requise, l’utilisation EventHubProducerClient de est recommandée.

EventHubConsumerClient

La EventHubConsumerClient classe est utilisée pour consommer des événements à partir d’un Event Hub.

Il existe plusieurs façons de créer un EventHubConsumerClient

  • Utilisez les chaîne de connexion de la stratégie SAP créée pour votre instance Event Hub.
  • Utilisez le chaîne de connexion de la stratégie SAP créée pour votre espace de noms Event Hub, ainsi que le nom de l’event hub instance
  • Utilisez l’espace de noms complet comme <yournamespace>.servicebus.windows.net, et un objet d’informations d’identification.

Si vous le souhaitez, vous pouvez également passer :

  • Un conteneur d’options pour configurer la stratégie de nouvelle tentative ou les paramètres de proxy.
  • Magasin de points de contrôle utilisé par le client pour lire les points de contrôle afin de déterminer la position à partir de laquelle il doit reprendre la réception des événements lorsque votre application est redémarrée. Le magasin de points de contrôle est également utilisé par le client pour équilibrer la charge de plusieurs instances de votre application.
EventHubProducerClient

La EventHubProducerClient classe est utilisée pour envoyer des événements à un hub d’événements.

Il existe plusieurs façons de créer un EventHubProducerClient

  • Utilisez les chaîne de connexion de la stratégie SAP créée pour votre instance Event Hub.
  • Utilisez le chaîne de connexion de la stratégie SAP créée pour votre espace de noms Event Hub, ainsi que le nom de l’event hub instance
  • Utilisez l’espace de noms complet comme <yournamespace>.servicebus.windows.net, et un objet d’informations d’identification.

Si vous le souhaitez, vous pouvez également passer un conteneur d’options pour configurer la stratégie de nouvelle tentative ou les paramètres de proxy.

MessagingError

Décrit la classe de base pour l’erreur de messagerie.

Interfaces

BufferedCloseOptions

Options de configuration de la close méthode sur le EventHubBufferedProducerClient.

BufferedFlushOptions

Options de configuration de la flush méthode sur le EventHubBufferedProducerClient.

Checkpoint

Un point de contrôle est destiné à représenter le dernier événement traité avec succès par l’utilisateur à partir d’une partition particulière d’un groupe de consommateurs dans un instance Event Hub.

Lorsque la updateCheckpoint() méthode sur la PartitionProcessor classe est appelée par l’utilisateur, un Checkpoint est créé en interne. Il est ensuite stocké dans la solution de stockage implémentée par le CheckpointManager choisi par l’utilisateur lors de la création d’un EventProcessor.

Les utilisateurs ne sont jamais censés interagir directement avec Checkpoint . Cette interface existe pour prendre en charge le fonctionnement interne de EventProcessor et CheckpointManager.

CheckpointStore

Un magasin de points de contrôle stocke et récupère les informations de propriété de la partition et les détails des points de contrôle pour chaque partition dans un groupe de consommateurs donné d’un hub d’événements instance.

Les utilisateurs ne sont pas destinés à implémenter un CheckpointStore. Les utilisateurs sont censés choisir les implémentations existantes de cette interface, les instancier et les passer au constructeur de classe lors de l’instanciation EventHubConsumerClient d’un client. Les utilisateurs ne sont pas censés utiliser l’une des méthodes sur un magasin de points de contrôle, celles-ci sont utilisées en interne par le client.

Les implémentations de CheckpointStore peuvent être trouvées sur npm en recherchant des packages avec le préfixe @azure/eventhub-checkpointstore-.

CreateBatchOptions

Options de configuration de la createBatch méthode sur le EventHubProducerClient.

  • partitionKey : valeur hachée pour produire une affectation de partition.
  • maxSizeInBytes: limite supérieure pour la taille du lot.
  • abortSignal : signalant la demande d’annulation de l’opération d’envoi.

Exemple d’utilisation :

{
    partitionKey: 'foo',
    maxSizeInBytes: 1024 * 1024 // 1 MB
}
EnqueueEventOptions

Options de configuration de la enqueueEvents méthode sur le EventHubBufferedProducerClient.

EventData

Interface qui décrit les données à envoyer à Event Hub. Utilisez-le comme référence lors de la création de l’objet à envoyer lors de l’utilisation de EventHubProducerClient. Par exemple, { body: "your-data" } ou

{
   body: "your-data",
   properties: {
      propertyName: "property value"
   }
}
EventDataAdapterParameters

Paramètres de la createEventDataAdapter fonction qui crée un adaptateur de données d’événement.

EventDataBatch

Interface représentant un lot d’événements qui peut être utilisé pour envoyer des événements à Event Hub.

Pour créer le lot, utilisez la createBatch() méthode sur le EventHubProducerClient. Pour envoyer le lot, utilisez la sendBatch() méthode sur le même client. Pour remplir le lot, utilisez la tryAdd() méthode sur le lot lui-même.

EventHubBufferedProducerClientOptions

Décrit les options qui peuvent être fournies lors de la création du EventHubBufferedProducerClient.

EventHubClientOptions

Décrit les options qui peuvent être fournies lors de la création d’EventHubClient.

  • userAgent : chaîne à ajouter à la chaîne d’agent utilisateur intégrée qui est passée en tant que propriété de connexion au service.
  • webSocketOptions : options permettant de configurer le canal de la connexion AMQP sur des sockets web.
    • websocket : constructeur WebSocket utilisé pour créer une connexion AMQP si vous choisissez d’établir la connexion via un WebSocket.
    • webSocketConstructorOptions : options à passer au constructeur Websocket lorsque vous choisissez d’établir la connexion via un WebSocket.
  • retryOptions : options de nouvelle tentative pour toutes les opérations sur le client/producteur/consommateur.
    • maxRetries : nombre de fois où l’opération peut être retentée en cas d’erreur pouvant faire l’objet d’une nouvelle tentative.
    • maxRetryDelayInMs: délai maximal entre les nouvelles tentatives. Applicable uniquement lors de l’exécution de nouvelles tentatives exponentielles.
    • mode: mode de nouvelle tentative à appliquer, spécifié par l’énumération RetryMode . Les options sont Exponential et Fixed. La valeur par défaut est Fixed.
    • retryDelayInMs: délai d’attente en millisecondes avant d’effectuer la prochaine tentative. Lorsque mode est défini sur Exponential, il est utilisé pour calculer les retards croissants de façon exponentielle entre les nouvelles tentatives. Valeur par défaut : 30000 millisecondes.
    • timeoutInMs: délai d’attente en millisecondes avant l’expiration de l’opération. Cela déclenche une nouvelle tentative s’il reste des tentatives. Valeur par défaut : 60000 millisecondes.

Une utilisation simple peut être { "maxRetries": 4 }.

Exemple d’utilisation :

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

Ensemble de propriétés qui composent un hub d’événements chaîne de connexion.

EventHubConsumerClientOptions

Décrit les options qui peuvent être fournies lors de la création d’EventHubConsumerClient.

  • loadBalancingOptions: options permettant d’ajuster la façon dont EventHubConsumerClient revendique les partitions.
  • userAgent : chaîne à ajouter à la chaîne d’agent utilisateur intégrée qui est passée en tant que propriété de connexion au service.
  • webSocketOptions : options permettant de configurer le canal de la connexion AMQP sur des sockets web.
    • websocket : constructeur WebSocket utilisé pour créer une connexion AMQP si vous choisissez d’établir la connexion via un WebSocket.
    • webSocketConstructorOptions : options à passer au constructeur Websocket lorsque vous choisissez d’établir la connexion via un WebSocket.
  • retryOptions : options de nouvelle tentative pour toutes les opérations sur le client/producteur/consommateur.
    • maxRetries : nombre de fois où l’opération peut être retentée en cas d’erreur pouvant faire l’objet d’une nouvelle tentative.
    • maxRetryDelayInMs: délai maximal entre les nouvelles tentatives. Applicable uniquement lors de l’exécution de nouvelles tentatives exponentielles.
    • mode: mode de nouvelle tentative à appliquer, spécifié par l’énumération RetryMode . Les options sont Exponential et Fixed. La valeur par défaut est Fixed.
    • retryDelayInMs: délai d’attente en millisecondes avant d’effectuer la prochaine tentative. Lorsque mode est défini sur Exponential, il est utilisé pour calculer les retards croissants de façon exponentielle entre les nouvelles tentatives. Valeur par défaut : 30000 millisecondes.
    • timeoutInMs: délai d’attente en millisecondes avant l’expiration de l’opération. Cela déclenche une nouvelle tentative s’il reste des tentatives. Valeur par défaut : 60000 millisecondes.

Une utilisation simple peut être { "maxRetries": 4 }.

Exemple d’utilisation :

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

Décrit les informations d’exécution d’un Event Hub.

EventPosition

Représente la position d’un événement dans une partition Event Hub, généralement utilisée lors de l’appel de la subscribe() méthode sur un EventHubConsumerClient pour spécifier la position dans la partition à partir de laquelle commencer à recevoir des événements.

Pour obtenir une EventPosition représentant le début ou la fin du flux, utilisez respectivement les constantes earliestEventPosition et latestEventPosition .

GetEventHubPropertiesOptions

Ensemble d’options permettant de configurer le comportement de getEventHubProperties.

  • abortSignal : implémentation de l’interface AbortSignalLike pour signaler la demande d’annulation de l’opération.
  • parentSpan Span: ou SpanContext à utiliser comme de l’étendue parent créée lors de l’appel de cette opération.
GetPartitionIdsOptions

Ensemble d’options permettant de configurer le comportement de getPartitionIds.

  • abortSignal : implémentation de l’interface AbortSignalLike pour signaler la demande d’annulation de l’opération.
  • parentSpan Span: ou SpanContext à utiliser comme de l’étendue parent créée lors de l’appel de cette opération.
GetPartitionPropertiesOptions

Ensemble d’options permettant de configurer le comportement de getPartitionProperties.

  • abortSignal : implémentation de l’interface AbortSignalLike pour signaler la demande d’annulation de l’opération.
  • parentSpan Span: ou SpanContext à utiliser comme de l’étendue parent créée lors de l’appel de cette opération.
LastEnqueuedEventProperties

Ensemble d’informations sur le dernier événement en file d’attente d’une partition, comme observé par le consommateur lorsque des événements sont reçus du service Event Hubs

LoadBalancingOptions

Un sac d’options pour configurer les paramètres d’équilibrage de charge.

OnSendEventsErrorContext

Contient les événements qui n’ont pas été correctement envoyés au hub d’événements, la partition à laquelle ils ont été affectés et l’erreur rencontrée lors de l’envoi.

OnSendEventsSuccessContext

Contient les événements qui ont été correctement envoyés au hub d’événements et la partition à laquelle ils ont été affectés.

OperationOptions

Options de configuration du suivi et de l’objet abortSignal.

PartitionContext

Interface qui décrit le contexte passé à chacune des fonctions qui font partie du SubscriptionEventHandlers. Lorsque vous implémentez l’une de ces fonctions, utilisez l’objet de contexte pour obtenir des informations sur la partition ainsi que sur la possibilité de point de contrôle.

PartitionOwnership

Interface représentant les détails sur lesquels instance d’un traitement d’une EventProcessor partition donnée à partir d’un groupe de consommateurs d’un instance Event Hub.

Remarque : Il est utilisé en interne par et l’utilisateur EventProcessor n’a jamais à le créer directement.

PartitionProperties

Décrit les informations d’exécution d’une partition EventHub.

ReceivedEventData

Interface qui décrit la structure de l’événement reçu d’Event Hub. Utilisez cette référence lors de la création de la processEvents fonction pour traiter les événements reçus d’un event Hub lors de l’utilisation de EventHubConsumerClient.

RetryOptions

Options de stratégie de nouvelle tentative qui déterminent le mode, le nombre de nouvelles tentatives, l’intervalle de nouvelle tentative, etc.

SendBatchOptions

Options permettant de configurer la sendBatch méthode sur lors de l’envoi EventHubProducerClient d’un tableau d’événements. Si partitionId est défini, partitionKey ne doit pas être défini et inversement.

  • partitionId : partition vers laquelle ce lot sera envoyé.
  • partitionKey : valeur qui est hachée pour produire une attribution de partition.
  • abortSignal : signal utilisé pour annuler l’opération d’envoi.
SubscribeOptions

Options permettant de configurer la subscribe méthode sur .EventHubConsumerClient Par exemple : { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

Interface qui décrit l’objet retourné par la subscribe() méthode sur le EventHubConsumerClient.

SubscriptionEventHandlers

Interface qui décrit les fonctions à implémenter par l’utilisateur qui sont appelées par le EventHubConsumerClient lorsque la subscribe() méthode est appelée pour recevoir des événements à partir d’Event Hub.

TokenCredential

Représente des informations d’identification capables de fournir un jeton d’authentification.

TryAddOptions

Options permettant de configurer le comportement de la tryAdd méthode sur la EventDataBatch classe .

WebSocketImpl

Décrit la forme requise des constructeurs WebSocket.

WebSocketOptions

Options permettant de configurer le canal de la connexion AMQP sur des sockets web.

Alias de type

ProcessCloseHandler

Signature de la fonction fournie par l’utilisateur appelée par EventHubConsumerClient juste après l’arrêt pour recevoir des événements d’une partition.

ProcessErrorHandler

Signature de la fonction fournie par l’utilisateur appelée par pour des erreurs qui se produisent lors de la réception d’événements ou lors de l’exécution de l’une des fonctions fournies par EventHubConsumerClient l’utilisateur passées à la subscribe() méthode.

ProcessEventsHandler

Signature de la fonction fournie par l’utilisateur appelée par EventHubConsumerClient lorsqu’un ensemble d’événements est reçu.

ProcessInitializeHandler

Signature de la fonction fournie par l’utilisateur appelée par EventHubConsumerClient juste avant de commencer à recevoir des événements d’une partition.

Énumérations

CloseReason

Enum représentant les différentes raisons pour lesquelles un EventHubConsumerClient arrête le traitement des événements d’une partition dans un groupe de consommateurs d’un Event Hub.

RetryMode

Décrit le type de mode nouvelle tentative

Functions

createEventDataAdapter(EventDataAdapterParameters)

Fonction qui construit un adaptateur de données d’événement. Cet adaptateur peut être utilisé avec @azure/schema-registry-avro pour encoder et décoder le corps dans les données d’événement.

parseEventHubConnectionString(string)

Analyse les chaîne de connexion données dans les différentes propriétés applicables à Azure Event Hubs. Les propriétés sont utiles pour construire ensuite un EventHubProducerClient ou un EventHubConsumerClient.

Informations relatives à la fonction

createEventDataAdapter(EventDataAdapterParameters)

Fonction qui construit un adaptateur de données d’événement. Cet adaptateur peut être utilisé avec @azure/schema-registry-avro pour encoder et décoder le corps dans les données d’événement.

function createEventDataAdapter(params?: EventDataAdapterParameters): MessageAdapter<EventData>

Paramètres

params
EventDataAdapterParameters

paramètres pour créer les données d’événement

Retours

MessageAdapter<EventData>

Un adaptateur de données d’événement qui peut produire et consommer des données d’événement

parseEventHubConnectionString(string)

Analyse les chaîne de connexion données dans les différentes propriétés applicables à Azure Event Hubs. Les propriétés sont utiles pour construire ensuite un EventHubProducerClient ou un EventHubConsumerClient.

function parseEventHubConnectionString(connectionString: string): Readonly<EventHubConnectionStringProperties>

Paramètres

connectionString

string

Le chaîne de connexion associé à la stratégie d’accès partagé créée pour l’espace de noms Event Hubs.

Retours