Partager via


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

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.

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.

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.

Propriétés

eventHubName

Nom du instance Event Hub pour lequel ce client est créé.

fullyQualifiedNamespace

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.

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);
   }
  }
}
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.

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);
   }
  }
}
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);

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

TokenCredential | NamedKeyCredential | SASCredential

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. La tryAdd fonction retourne false 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

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

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

EventData[] | AmqpAnnotatedMessage[]

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