Partager via


EventHubBufferedProducerClient class

EventHubBufferedProducerClientest utilisé pour publier des événements dans un Event Hub spécifique.

ne EventHubBufferedProducerClient publie pas d’é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 complet 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 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 la gestion par lots des appelants, au prix d’un timing non déterministe, pour le moment où les événements seront publiés. Il existe également d’autres compromis à prendre en compte :

  • Si l’application se bloque, les événements dans la mémoire tampon n’auront 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 ceux 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 les 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 attribuées à une partition cohérente avec d’autres éditeurs, ou lorsque l’optimisation de la disponibilité est une exigence, l’utilisation de est EventHubProducerClient recommandée.

Constructeurs

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient classe est utilisée pour envoyer des événements à un hub d’événements. Utilisez le options parmeter pour configurer les paramètres de stratégie ou de proxy de nouvelle tentative.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient classe est utilisée pour envoyer des événements à un hub d’événements. Utilisez le options parmeter pour configurer les paramètres de stratégie ou de proxy de nouvelle tentative.

EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient classe est utilisée pour envoyer des événements à un hub d’événements. Utilisez le options parmeter pour configurer les paramètres de stratégie ou de proxy de nouvelle tentative.

Propriétés

eventHubName

Nom du hub d’événements instance pour lequel ce client est créé.

fullyQualifiedNamespace

Espace de noms complet du instance Event Hub pour lequel ce client est créé. Cela est susceptible d’être similaire à .servicebus.windows.net.

identifier

Nom utilisé pour identifier cet EventHubBufferedProducerClient. S’il n’est pas spécifié ou vide, un unique aléatoire est généré.

Méthodes

close(BufferedCloseOptions)

Ferme la connexion AMQP au instance Event Hub, renvoyant une promesse qui sera résolue une fois la déconnexion terminée.

Cela attend que les événements en file d’attente soient vidés dans le service avant de fermer la connexion. Pour fermer sans vidage, définissez l’option sur flushfalse.

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Met en file d’attente un événement dans la mémoire tampon à publier dans le hub d’événements. S’il n’y a aucune capacité dans la mémoire tampon lorsque cette méthode est appelée, elle attend que l’espace soit disponible et s’assure que l’événement a été mis en file d’attente.

Lorsque cet appel est retourné, l’événement a été accepté dans la mémoire tampon, mais il n’a peut-être pas encore été publié. La publication aura lieu à un point non déterministe à l’avenir, car la mémoire tampon sera traitée.

enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)

Met en file d’attente les événements dans la mémoire tampon à publier dans le hub d’événements. S’il n’y a aucune capacité dans la mémoire tampon lorsque cette méthode est appelée, elle attend que l’espace soit disponible et s’assure que les événements ont été mis en file d’attente.

Lorsque cet appel est retourné, les événements ont été acceptés dans la mémoire tampon, mais il n’a peut-être pas encore été publié. La publication aura lieu à un point non déterministe à l’avenir, car la mémoire tampon sera traitée.

flush(BufferedFlushOptions)

Tente de publier tous les événements dans la mémoire tampon immédiatement. Cela peut entraîner la publication de plusieurs lots, dont le résultat sera signalé individuellement par les onSendEventsSuccessHandler gestionnaires et onSendEventsErrorHandler .

getEventHubProperties(GetEventHubPropertiesOptions)

Fournit les informations du runtime Event Hub.

getPartitionIds(GetPartitionIdsOptions)

Fournit l’ID de chaque partition associée à Event Hub.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Fournit des informations sur l’état de la partition spécifiée.

Détails du constructeur

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient classe est utilisée pour envoyer des événements à un hub d’événements. Utilisez le options parmeter pour configurer les paramètres de stratégie ou de proxy de nouvelle tentative.

new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)

Paramètres

connectionString

string

Chaîne de connexion à utiliser pour la connexion au hub d’événements instance. Il est attendu que les propriétés de la clé partagée et le chemin d’accès Event Hub soient contenus dans cette chaîne de connexion. Par exemple, 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubBufferedProducerClientOptions

Ensemble d’options à appliquer lors de la configuration du client.

  • retryOptions : configure la stratégie de nouvelle tentative pour toutes les opérations sur le client. Par exemple, { "maxRetries": 4 } ou { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: configure le canal de la connexion AMQP sur des sockets web.
  • userAgent : chaîne à ajouter à la chaîne d’agent utilisateur intégrée qui est passée au service.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient classe est utilisée pour envoyer des événements à un hub d’événements. Utilisez le options parmeter pour configurer les paramètres de stratégie ou de proxy de nouvelle tentative.

new EventHubBufferedProducerClient(connectionString: string, eventHubName: string, options: EventHubBufferedProducerClientOptions)

Paramètres

connectionString

string

Chaîne de connexion à utiliser pour la connexion à l’espace de noms Event Hubs. Il est attendu que les propriétés de la clé partagée soient contenues dans cette chaîne de connexion, mais pas dans le chemin d’accès Event Hub, par exemple 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

Nom du hub d’événements spécifique auquel connecter le client.

options
EventHubBufferedProducerClientOptions

Ensemble d’options à appliquer lors de la configuration du client.

  • retryOptions : configure la stratégie de nouvelle tentative pour toutes les opérations sur le client. Par exemple, { "maxRetries": 4 } ou { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: configure le canal de la connexion AMQP sur des sockets web.
  • userAgent : chaîne à ajouter à la chaîne d’agent utilisateur intégrée qui est passée au service.

EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient classe est utilisée pour envoyer des événements à un hub d’événements. Utilisez le options parmeter pour configurer les paramètres de stratégie ou de proxy de nouvelle tentative.

new EventHubBufferedProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options: EventHubBufferedProducerClientOptions)

Paramètres

fullyQualifiedNamespace

string

Espace de noms complet qui est susceptible d’être similaire à .servicebus.windows.net

eventHubName

string

Nom du hub d’événements spécifique auquel connecter le client.

credential

TokenCredential | NamedKeyCredential | SASCredential

Objet d’informations d’identification utilisé par le client pour obtenir le jeton afin d’authentifier la connexion avec le service Azure Event Hubs. Consultez @azure/identité pour créer des informations d’identification qui prennent en charge l’authentification AAD. Utilisez le AzureNamedKeyCredential de @azure/core-auth si vous souhaitez passer un et SharedAccessKey sans utiliser de SharedAccessKeyName chaîne de connexion. Ces champs sont mappés au name champ et key respectivement dans AzureNamedKeyCredential. Utilisez le AzureSASCredential de @azure/core-auth si vous souhaitez passer un sans utiliser de SharedAccessSignature chaîne de connexion. Ce champ est mappé à signature dans AzureSASCredential.

options
EventHubBufferedProducerClientOptions

Ensemble d’options à appliquer lors de la configuration du client.

  • retryOptions : configure la stratégie de nouvelle tentative pour toutes les opérations sur le client. Par exemple, { "maxRetries": 4 } ou { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: configure le canal de la connexion AMQP sur des sockets web.
  • userAgent : chaîne à ajouter à la chaîne d’agent utilisateur intégrée qui est passée au service.

Détails de la propriété

eventHubName

Nom du hub d’événements instance pour lequel ce client est créé.

string eventHubName

Valeur de propriété

string

fullyQualifiedNamespace

Espace de noms complet du instance Event Hub pour lequel ce client est créé. Cela est susceptible d’être similaire à .servicebus.windows.net.

string fullyQualifiedNamespace

Valeur de propriété

string

identifier

Nom utilisé pour identifier cet EventHubBufferedProducerClient. S’il n’est pas spécifié ou vide, un unique aléatoire est généré.

identifier: string

Valeur de propriété

string

Détails de la méthode

close(BufferedCloseOptions)

Ferme la connexion AMQP au instance Event Hub, renvoyant une promesse qui sera résolue une fois la déconnexion terminée.

Cela attend que les événements en file d’attente soient vidés dans le service avant de fermer la connexion. Pour fermer sans vidage, définissez l’option sur flushfalse.

function close(options?: BufferedCloseOptions): Promise<void>

Paramètres

options
BufferedCloseOptions

Ensemble d’options à appliquer à l’appel d’opération.

Retours

Promise<void>

Promise

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Met en file d’attente un événement dans la mémoire tampon à publier dans le hub d’événements. S’il n’y a aucune capacité dans la mémoire tampon lorsque cette méthode est appelée, elle attend que l’espace soit disponible et s’assure que l’événement a été mis en file d’attente.

Lorsque cet appel est retourné, l’événement a été accepté dans la mémoire tampon, mais il n’a peut-être pas encore été publié. La publication aura lieu à un point non déterministe à l’avenir, car la mémoire tampon sera traitée.

function enqueueEvent(event: EventData | AmqpAnnotatedMessage, options?: EnqueueEventOptions): Promise<number>

Paramètres

options
EnqueueEventOptions

Ensemble d’options qui peuvent être spécifiées pour influencer la façon dont l’événement est envoyé au hub d’événements associé.

  • abortSignal : signal utilisé pour annuler l’opération enqueueEvent.
  • partitionId : partition vers laquelle cet ensemble d’événements sera envoyé. S’il est défini, partitionKey ne peut pas être défini.
  • partitionKey : valeur qui est hachée pour produire une attribution de partition. S’il est défini, partitionId ne peut pas être défini.

Retours

Promise<number>

Nombre total d’événements actuellement mis en mémoire tampon et en attente d’être publiés, sur toutes les partitions.

enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)

Met en file d’attente les événements dans la mémoire tampon à publier dans le hub d’événements. S’il n’y a aucune capacité dans la mémoire tampon lorsque cette méthode est appelée, elle attend que l’espace soit disponible et s’assure que les événements ont été mis en file d’attente.

Lorsque cet appel est retourné, les événements ont été acceptés dans la mémoire tampon, mais il n’a peut-être pas encore été publié. La publication aura lieu à un point non déterministe à l’avenir, car la mémoire tampon sera traitée.

function enqueueEvents(events: EventData[] | AmqpAnnotatedMessage[], options?: EnqueueEventOptions): Promise<number>

Paramètres

events

EventData[] | AmqpAnnotatedMessage[]

Tableau d’EventData ou AmqpAnnotatedMessage.

options
EnqueueEventOptions

Ensemble d’options qui peuvent être spécifiées pour influencer la façon dont les événements sont envoyés au hub d’événements associé.

  • abortSignal : signal utilisé pour annuler l’opération enqueueEvents.
  • partitionId : partition vers laquelle cet ensemble d’événements sera envoyé. S’il est défini, partitionKey ne peut pas être défini.
  • partitionKey : valeur qui est hachée pour produire une attribution de partition. S’il est défini, partitionId ne peut pas être défini.

Retours

Promise<number>

Nombre total d’événements actuellement mis en mémoire tampon et en attente d’être publiés, sur toutes les partitions.

flush(BufferedFlushOptions)

Tente de publier tous les événements dans la mémoire tampon immédiatement. Cela peut entraîner la publication de plusieurs lots, dont le résultat sera signalé individuellement par les onSendEventsSuccessHandler gestionnaires et onSendEventsErrorHandler .

function flush(options?: BufferedFlushOptions): Promise<void>

Paramètres

options
BufferedFlushOptions

Ensemble d’options à appliquer à l’appel d’opération.

Retours

Promise<void>

getEventHubProperties(GetEventHubPropertiesOptions)

Fournit les informations du runtime Event Hub.

function getEventHubProperties(options?: GetEventHubPropertiesOptions): Promise<EventHubProperties>

Paramètres

options
GetEventHubPropertiesOptions

Ensemble d’options à appliquer à l’appel d’opération.

Retours

Promesse qui se résout avec des informations sur le instance Event Hub.

getPartitionIds(GetPartitionIdsOptions)

Fournit l’ID de chaque partition associée à Event Hub.

function getPartitionIds(options?: GetPartitionIdsOptions): Promise<string[]>

Paramètres

options
GetPartitionIdsOptions

Ensemble d’options à appliquer à l’appel d’opération.

Retours

Promise<string[]>

Promesse qui se résout avec un tableau de chaînes représentant l’ID de chaque partition associée à Event Hub.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Fournit des informations sur l’état de la partition spécifiée.

function getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise<PartitionProperties>

Paramètres

partitionId

string

ID de la partition pour laquelle des informations sont requises.

options
GetPartitionPropertiesOptions

Ensemble d’options à appliquer à l’appel d’opération.

Retours

Promesse qui se résout avec des informations sur l’état de la partition .