EventHubBufferedProducerClient class
EventHubBufferedProducerClient
est 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 etonSendEventsErrorHandler
. - 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
Event |
La |
Event |
La |
Event |
La |
Propriétés
event |
Nom du hub d’événements instance pour lequel ce client est créé. |
fully |
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(Buffered |
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 |
enqueue |
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. |
enqueue |
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(Buffered |
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 |
get |
Fournit les informations du runtime Event Hub. |
get |
Fournit l’ID de chaque partition associée à Event Hub. |
get |
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'.
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.
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
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
.
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 flush
false
.
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
- event
- 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
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
Promise<EventHubProperties>
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
Promise<PartitionProperties>
Promesse qui se résout avec des informations sur l’état de la partition .