EventHubProducerClient class
La EventHubProducerClient
classe 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 de la stratégie SAP créée pour votre instance Event Hub.
- Utilisez la chaîne de connexion de la stratégie SAS créée pour votre espace de noms Event Hub et le nom de l’Event Hub instance
- Utilisez l’espace de noms complet comme
<yournamespace>.servicebus.windows.net
, et 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.
Constructeurs
Event |
La |
Event |
La |
Event |
La |
Propriétés
event |
Nom du instance Event Hub pour lequel ce client est créé. |
fully |
Espace de noms complet de l’instance Event Hub pour lequel ce client est créé. Cela est probablement similaire à .servicebus.windows.net. |
identifier | Nom utilisé pour identifier cet EventHubProducerClient. S’il n’est pas spécifié ou vide, un unique aléatoire est généré. |
Méthodes
close() | Ferme la connexion AMQP au instance Event Hub, en retournant une promesse qui sera résolue une fois la déconnexion terminée. |
create |
Crée un instance de auquel on peut ajouter des Les événements avec des valeurs différentes pour partitionKey ou partitionId doivent être placés dans des lots différents.
Pour simplifier cette gestion des lots entre les partitions ou pour que le client lote automatiquement les événements et les envoie à des intervalles spécifiques, utilisez L’exemple ci-dessous suppose que vous disposez d’un tableau d’événements à traiter en toute sécurité.
Si vous avez des événements qui arrivent un par un, Exemple d'utilisation :
|
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. |
send |
Envoie un lot d’événements créés à l’aide Les événements avec des valeurs différentes pour partitionKey ou partitionId doivent être placés dans des lots différents.
Pour simplifier cette gestion des lots entre les partitions ou pour que le client lote automatiquement les événements et les envoie à des intervalles spécifiques, utilisez L’exemple ci-dessous suppose que vous disposez d’un tableau d’événements à traiter en toute sécurité.
Si vous avez des événements qui arrivent un par un, Exemple d'utilisation :
|
send |
Envoie un tableau d’événements en tant que lot au hub d’événements associé. Azure Event Hubs a une limite sur la taille du lot qui peut être envoyé, ce qui, s’il est dépassé, entraîne une erreur avec le code Exemple d'utilisation :
|
Détails du constructeur
EventHubProducerClient(string, EventHubClientOptions)
La EventHubProducerClient
classe est utilisée pour envoyer des événements à un hub d’événements.
Utilisez l’analyseur options
pour configurer les paramètres de stratégie de nouvelle tentative ou de proxy.
new EventHubProducerClient(connectionString: string, options?: EventHubClientOptions)
Paramètres
- connectionString
-
string
Chaîne de connexion à utiliser pour la connexion au instance Event Hub. Il est attendu que les propriétés de 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
- EventHubClientOptions
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.
EventHubProducerClient(string, string, EventHubClientOptions)
La EventHubProducerClient
classe est utilisée pour envoyer des événements à un hub d’événements.
Utilisez l’analyseur options
pour configurer les paramètres de stratégie de nouvelle tentative ou de proxy.
new EventHubProducerClient(connectionString: string, eventHubName: string, options?: EventHubClientOptions)
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
- EventHubClientOptions
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.
EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)
La EventHubProducerClient
classe est utilisée pour envoyer des événements à un hub d’événements.
Utilisez l’analyseur options
pour configurer les paramètres de stratégie de nouvelle tentative ou de proxy.
new EventHubProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options?: EventHubClientOptions)
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 auprès du 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/core-auth si vous souhaitez passer un SharedAccessKeyName
et SharedAccessKey
sans utiliser de chaîne de connexion. Ces champs sont mappés au name
champ et key
dans AzureNamedKeyCredential
.
Utilisez le AzureSASCredential
à partir de @azure/core-auth si vous souhaitez passer un SharedAccessSignature
sans utiliser de chaîne de connexion. Ce champ est mappé à signature
dans AzureSASCredential
.
- options
- EventHubClientOptions
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 instance Event Hub pour lequel ce client est créé.
string eventHubName
Valeur de propriété
string
fullyQualifiedNamespace
Espace de noms complet de l’instance Event Hub pour lequel ce client est créé. Cela est probablement similaire à .servicebus.windows.net.
string fullyQualifiedNamespace
Valeur de propriété
string
identifier
Nom utilisé pour identifier cet EventHubProducerClient. 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()
Ferme la connexion AMQP au instance Event Hub, en retournant une promesse qui sera résolue une fois la déconnexion terminée.
function close(): Promise<void>
Retours
Promise<void>
Promise
createBatch(CreateBatchOptions)
Crée un instance de auquel on peut ajouter des EventDataBatch
événements jusqu’à ce que la taille maximale prise en charge soit atteinte.
Le lot peut être passé à la méthode sendBatch du EventHubProducerClient
à envoyer à Azure Event Hubs.
Les événements avec des valeurs différentes pour partitionKey ou partitionId doivent être placés dans des lots différents.
Pour simplifier cette gestion des lots entre les partitions ou pour que le client lote automatiquement les événements et les envoie à des intervalles spécifiques, utilisez EventHubBufferedProducerClient
à la place.
L’exemple ci-dessous suppose que vous disposez d’un tableau d’événements à traiter en toute sécurité.
Si vous avez des événements qui arrivent un par un, EventHubBufferedProducerClient
est recommandé à la place pour une gestion efficace des lots.
Exemple d'utilisation :
const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
if (!batch.tryAdd(messages[i])) {
await client.sendBatch(batch);
batch = await client.createBatch();
if (!batch.tryAdd(messages[i])) {
throw new Error("Message too big to fit")
}
if (i === messages.length - 1) {
await client.sendBatch(batch);
}
}
}
function createBatch(options?: CreateBatchOptions): Promise<EventDataBatch>
Paramètres
- options
- CreateBatchOptions
Configure le comportement du lot.
-
partitionKey
: valeur hachée et utilisée par le service Azure Event Hubs pour déterminer la partition à laquelle les événements doivent être envoyés. -
partitionId
: ID de la partition à laquelle le lot d’événements doit être envoyé. -
maxSizeInBytes
: limite supérieure pour la taille du lot. LatryAdd
fonction retournefalse
une fois cette limite atteinte. -
abortSignal
: signalant la demande d’annulation de l’opération.
Retours
Promise<EventDataBatch>
Promise
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 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 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 .
sendBatch(EventDataBatch, OperationOptions)
Envoie un lot d’événements créés à l’aide EventHubProducerClient.createBatch()
du hub d’événements associé.
Les événements avec des valeurs différentes pour partitionKey ou partitionId doivent être placés dans des lots différents.
Pour simplifier cette gestion des lots entre les partitions ou pour que le client lote automatiquement les événements et les envoie à des intervalles spécifiques, utilisez EventHubBufferedProducerClient
à la place.
L’exemple ci-dessous suppose que vous disposez d’un tableau d’événements à traiter en toute sécurité.
Si vous avez des événements qui arrivent un par un, EventHubBufferedProducerClient
est recommandé à la place pour une gestion efficace des lots.
Exemple d'utilisation :
const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
if (!batch.tryAdd(messages[i])) {
await client.sendBatch(batch);
batch = await client.createBatch();
if (!batch.tryAdd(messages[i])) {
throw new Error("Message too big to fit")
}
if (i === messages.length - 1) {
await client.sendBatch(batch);
}
}
}
function sendBatch(batch: EventDataBatch, options?: OperationOptions): Promise<void>
Paramètres
- batch
- EventDataBatch
Lot d’événements que vous pouvez créer à l’aide de la méthode createBatch .
- options
- OperationOptions
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
: signalant la demande d’annulation de l’opération d’envoi.
Retours
Promise<void>
Promise
sendBatch(EventData[] | AmqpAnnotatedMessage[], SendBatchOptions)
Envoie un tableau d’événements en tant que lot au hub d’événements associé.
Azure Event Hubs a une limite sur la taille du lot qui peut être envoyé, ce qui, s’il est dépassé, entraîne une erreur avec le code MessageTooLargeError
.
Pour envoyer en toute sécurité dans les limites de taille de lot, utilisez EventHubProducerClient.createBatch()
ou EventHubBufferedProducerClient
à la place.
Exemple d'utilisation :
const client = new EventHubProducerClient(connectionString);
await client.sendBatch(messages);
function sendBatch(batch: EventData[] | AmqpAnnotatedMessage[], options?: SendBatchOptions): Promise<void>
Paramètres
- batch
Tableau d’EventData ou AmqpAnnotatedMessage
.
- options
- SendBatchOptions
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
: signalant la demande d’annulation de l’opération d’envoi. -
partitionId
: partition à laquelle ce lot sera envoyé. Si la valeur est définie,partitionKey
ne peut pas être définie. -
partitionKey
: valeur hachée pour produire une affectation de partition. Si la valeur est définie,partitionId
ne peut pas être définie.
Retours
Promise<void>
Promise