@azure/event-hubs package

Classes

EventHubBufferedProducerClient

Le EventHubBufferedProducerClientest utilisé pour publier des événements sur un hub d’événements spécifique.

Le EventHubBufferedProducerClient ne publie pas immédiatement les événements. 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 plein ou que le maxWaitTimeInMs s’est écoulé sans nouveaux événements 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 affectés à une partition, regroupées en fonction de la clé de partition spécifiée ou affectées à une partition spécifiquement demandée.

Ce modèle est destiné à déplacer la charge de gestion par lots des appelants, au coût du minutage non déterministe, pour le moment où les événements seront publiés. Il existe également des compromis supplémentaires à prendre en compte :

  • 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 gestionnaires onSendEventsSuccessHandler et onSendEventsErrorHandler.
  • Les événements spécifiant une clé de partition peuvent être affectés à une partition différente de celle qui utilise la même clé avec d’autres producteurs.
  • Dans le cas peu probable où une partition devient temporairement indisponible, la EventHubBufferedProducerClient peut prendre plus de temps pour récupérer que d’autres producteurs.

Dans les scénarios où il est important d’avoir des événements 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 où l’optimisation de la disponibilité est requise, l’utilisation du EventHubProducerClient est recommandée.

EventHubConsumerClient

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

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

  • Utilisez la chaîne de connexion à partir de la stratégie SAP créée pour votre instance Event Hub.
  • Utilisez la chaîne de connexion à partir de la stratégie SAP créée pour votre espace de noms Event Hub et le nom de l’instance Event Hub
  • Utilisez l’espace de noms complet comme <yournamespace>.servicebus.windows.netet 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 pour déterminer la position à partir de laquelle il doit reprendre la réception d’é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 classe EventHubProducerClient est utilisée pour envoyer des événements à un hub d’événements.

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

  • Utilisez la chaîne de connexion à partir de la stratégie SAP créée pour votre instance Event Hub.
  • Utilisez la chaîne de connexion à partir de la stratégie SAP créée pour votre espace de noms Event Hub et le nom de l’instance Event Hub
  • Utilisez l’espace de noms complet comme <yournamespace>.servicebus.windows.netet un objet d’informations d’identification.

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

MessagingError

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

Interfaces

BufferedCloseOptions

Options permettant de configurer la méthode close sur la EventHubBufferedProducerClient.

BufferedFlushOptions

Options permettant de configurer la méthode flush sur la EventHubBufferedProducerClient.

Checkpoint

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

Lorsque la méthode updateCheckpoint() sur la classe PartitionProcessor est appelée par l’utilisateur, une Checkpoint est créée en interne. Il est ensuite stocké dans la solution de stockage implémentée par l'CheckpointManager choisie 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 les fonctions internes de EventProcessor et de CheckpointManager.

CheckpointStore

Un magasin de points de contrôle stocke et récupère les informations de propriété de partition et les détails de point de contrôle pour chaque partition dans un groupe de consommateurs donné d’une instance event Hub.

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

Vous trouverez des implémentations de CheckpointStore sur npm en recherchant des packages avec le préfixe @azure/eventhub-checkpointstore-.

CreateBatchOptions

Options permettant de configurer la méthode createBatch sur la EventHubProducerClient.

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

Exemple d’utilisation :

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

Options permettant de configurer la méthode enqueueEvents sur la EventHubBufferedProducerClient.

EventData

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

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

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

EventDataBatch

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

Pour créer le lot, utilisez la méthode createBatch() sur le EventHubProducerClient. Pour envoyer le lot, utilisez la méthode sendBatch() sur le même client. Pour remplir le lot, utilisez la méthode tryAdd() 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 via Web Sockets.
    • websocket : constructeur WebSocket utilisé pour créer une connexion AMQP si vous choisissez d’établir la connexion sur un WebSocket.
    • webSocketConstructorOptions : options à passer au constructeur Websocket lorsque vous choisissez d’établir la connexion sur 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 retentable.
    • maxRetryDelayInMs: délai maximal entre les nouvelles tentatives. Applicable uniquement lors de l’exécution de nouvelles tentatives exponentielles.
    • mode: mode nouvelle tentative à appliquer, spécifié par l’énumération RetryMode. Les options sont Exponential et Fixed. La valeur par défaut est Fixed.
    • retryDelayInMs: durée 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 exponentiels entre les nouvelles tentatives. Valeur par défaut : 3 0000 millisecondes.
    • timeoutInMs: Durée en millisecondes d’attente avant que l’opération expire. Cela déclenche une nouvelle tentative s’il existe des tentatives de nouvelle tentative restantes. Valeur par défaut : 6 0000 millisecondes.

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

Exemple d’utilisation :

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

Ensemble de propriétés qui composent une chaîne de connexion Event Hub.

EventHubConsumerClientOptions

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

  • loadBalancingOptions: options permettant de régler la façon dont les partitions de revendications EventHubConsumerClient.
  • 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 via Web Sockets.
    • websocket : constructeur WebSocket utilisé pour créer une connexion AMQP si vous choisissez d’établir la connexion sur un WebSocket.
    • webSocketConstructorOptions : options à passer au constructeur Websocket lorsque vous choisissez d’établir la connexion sur 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 retentable.
    • maxRetryDelayInMs: délai maximal entre les nouvelles tentatives. Applicable uniquement lors de l’exécution de nouvelles tentatives exponentielles.
    • mode: mode nouvelle tentative à appliquer, spécifié par l’énumération RetryMode. Les options sont Exponential et Fixed. La valeur par défaut est Fixed.
    • retryDelayInMs: durée 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 exponentiels entre les nouvelles tentatives. Valeur par défaut : 3 0000 millisecondes.
    • timeoutInMs: Durée en millisecondes d’attente avant que l’opération expire. Cela déclenche une nouvelle tentative s’il existe des tentatives de nouvelle tentative restantes. Valeur par défaut : 6 0000 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 méthode subscribe() sur un EventHubConsumerClient pour spécifier la position dans la partition pour commencer à recevoir des événements.

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

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 parent de l’étendue 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 parent de l’étendue 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 parent de l’étendue 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, car les événements sont reçus du service Event Hubs

LoadBalancingOptions

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 qui a été 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’abandonSignal.

PartitionContext

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

PartitionOwnership

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

Remarque: il est utilisé en interne par l'EventProcessor et l’utilisateur 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 à partir d’Event Hub. Utilisez-la comme référence lors de la création de la fonction processEvents pour traiter les événements reçus d’un Event Hub lors de l’utilisation de la 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 méthode sendBatch sur le EventHubProducerClient lors de l’envoi d’un tableau d’événements. Si partitionId est défini, partitionKey ne doit pas être défini et inversement.

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

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

Subscription

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

SubscriptionEventHandlers

Interface qui décrit les fonctions à implémenter par l’utilisateur qui sont appelées par l'EventHubConsumerClient lorsque la méthode subscribe() 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 méthode tryAdd sur la classe EventDataBatch.

WebSocketImpl

Décrit la forme requise des constructeurs WebSocket.

WebSocketOptions

Options de configuration du canal de la connexion AMQP via Web Sockets.

Alias de type

ProcessCloseHandler

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

ProcessErrorHandler

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

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

Énumération représentant les différentes raisons d’une EventHubConsumerClient pour arrêter 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 la chaîne de connexion donnée dans les différentes propriétés applicables à Azure Event Hubs. Les propriétés sont utiles pour ensuite construire 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>

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

parseEventHubConnectionString(string)

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

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

Paramètres

connectionString

string

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

Retours