Partager via


EventHubBufferedProducerClient class

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.

Constructeurs

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

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

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

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

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

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

Propriétés

eventHubName

Nom de l’instance Event Hub pour laquelle ce client est créé.

fullyQualifiedNamespace

Espace de noms complet de l’instance Event Hub pour laquelle ce client est créé. Cela est probablement 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 à l’instance Event Hub, en retournant une promesse qui sera résolue une fois la déconnexion terminée.

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

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’existe aucune capacité dans la mémoire tampon lorsque cette méthode est appelée, elle attend que l’espace soit disponible et vérifie 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 est 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’existe aucune capacité dans la mémoire tampon lorsque cette méthode est appelée, elle attend que l’espace soit disponible et vérifie 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 ils n’ont peut-être pas encore été publiés. La publication aura lieu à un point non déterministe à l’avenir, car la mémoire tampon est 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 gestionnaires onSendEventsSuccessHandler et onSendEventsErrorHandler.

getEventHubProperties(GetEventHubPropertiesOptions)

Fournit les informations du runtime Event Hub.

getPartitionIds(GetPartitionIdsOptions)

Fournit l’ID de chaque partition associée au hub d’événements.

getPartitionProperties(string, GetPartitionPropertiesOptions)

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

Détails du constructeur

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

La classe EventHubBufferedProducerClient est utilisée pour envoyer des événements à un hub d’événements. Utilisez le paramètre options 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 à l’instance Event Hub. On s’attend à ce que les propriétés de clé partagée et le chemin d’accès du hub d’événements 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 via Web Sockets.
  • userAgent : chaîne à ajouter à la chaîne d’agent utilisateur intégrée transmise au service.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

La classe EventHubBufferedProducerClient est utilisée pour envoyer des événements à un hub d’événements. Utilisez le paramètre options 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 prévu que les propriétés de 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 via Web Sockets.
  • userAgent : chaîne à ajouter à la chaîne d’agent utilisateur intégrée transmise au service.

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

La classe EventHubBufferedProducerClient est utilisée pour envoyer des événements à un hub d’événements. Utilisez le paramètre options 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 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 pour 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 à partir de @azure/authentification principale si vous souhaitez passer un SharedAccessKeyName et SharedAccessKey sans utiliser de chaîne de connexion. Ces champs sont mappés au champ name et key respectivement dans AzureNamedKeyCredential. Utilisez le AzureSASCredential à partir de @azure/authentification principale si vous souhaitez passer un SharedAccessSignature sans utiliser de 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 via Web Sockets.
  • userAgent : chaîne à ajouter à la chaîne d’agent utilisateur intégrée transmise au service.

Détails de la propriété

eventHubName

Nom de l’instance Event Hub pour laquelle ce client est créé.

string eventHubName

Valeur de propriété

string

fullyQualifiedNamespace

Espace de noms complet de l’instance Event Hub pour laquelle ce client est créé. Cela est probablement 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 à l’instance Event Hub, en retournant une promesse qui sera résolue une fois la déconnexion terminée.

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

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

Paramètres

options
BufferedCloseOptions

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

Retours

Promise<void>

Promesse

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’existe aucune capacité dans la mémoire tampon lorsque cette méthode est appelée, elle attend que l’espace soit disponible et vérifie 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 est 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 : la partition à laquelle cet ensemble d’événements sera envoyé. Si elle est définie, partitionKey ne peut pas être définie.
  • partitionKey : valeur hachée pour produire une affectation de partition. Si elle est définie, partitionId ne peut pas être définie.

Retours

Promise<number>

Nombre total d’événements actuellement mis en mémoire tampon et en attente de publication, 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’existe aucune capacité dans la mémoire tampon lorsque cette méthode est appelée, elle attend que l’espace soit disponible et vérifie 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 ils n’ont peut-être pas encore été publiés. La publication aura lieu à un point non déterministe à l’avenir, car la mémoire tampon est traitée.

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

Paramètres

events

EventData[] | AmqpAnnotatedMessage[]

Tableau de 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 : la partition à laquelle cet ensemble d’événements sera envoyé. Si elle est définie, partitionKey ne peut pas être définie.
  • partitionKey : valeur hachée pour produire une affectation de partition. Si elle est définie, partitionId ne peut pas être définie.

Retours

Promise<number>

Nombre total d’événements actuellement mis en mémoire tampon et en attente de publication, 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 gestionnaires onSendEventsSuccessHandler 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 l’instance Event Hub.

getPartitionIds(GetPartitionIdsOptions)

Fournit l’ID de chaque partition associée au hub d’événements.

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 au hub d’événements.

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 les informations sont requises.

options
GetPartitionPropertiesOptions

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

Retours

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