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