EventHubProducerClient class

La classe EventHubProducerClient 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 à partir de la stratégie SAP créée pour votre instance Event Hub.
  • Utilisez la chaîne de connexion à partir de la stratégie SAP créée pour votre espace de noms Event Hub et le nom de l’instance Event Hub
  • Utilisez l’espace de noms complet comme <yournamespace>.servicebus.windows.netet un objet d’informations d’identification.

Si vous le souhaitez, vous pouvez également passer un conteneur d’options pour configurer les paramètres de stratégie ou de proxy de nouvelle tentative.

Constructeurs

EventHubProducerClient(string, EventHubClientOptions)

La classe EventHubProducerClient 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.

EventHubProducerClient(string, string, EventHubClientOptions)

La classe EventHubProducerClient 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.

EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)

La classe EventHubProducerClient 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éé. Il est probable que ce soit similaire à <votrenamespace.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 à l’instance Event Hub, en retournant une promesse qui sera résolue une fois la déconnexion terminée.

createBatch(CreateBatchOptions)

Crée une instance de EventDataBatch à laquelle vous pouvez ajouter des événements jusqu’à ce que la taille maximale prise en charge soit atteinte. Le lot peut être passé à la méthode sendBatch de l'EventHubProducerClient à envoyer à Azure Event Hubs.

Les événements avec différentes valeurs pour partitionKey ou partitionId doivent être placés dans différents lots. Pour simplifier cette gestion des lots entre les partitions ou pour que le client exécute automatiquement des événements par lot et les envoie dans des intervalles spécifiques, utilisez EventHubBufferedProducerClient à la place.

L’exemple ci-dessous suppose que vous disposez d’un tableau d’événements à la main pour être traité en toute sécurité. Si vous avez des événements en un par un, EventHubBufferedProducerClient est recommandé à la place pour une gestion efficace des lots.

Exemple d’utilisation :

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

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 de EventHubProducerClient.createBatch() au hub d’événements associé.

Les événements avec différentes valeurs pour partitionKey ou partitionId doivent être placés dans différents lots. Pour simplifier cette gestion des lots entre les partitions ou pour que le client exécute automatiquement des événements par lot et les envoie dans des intervalles spécifiques, utilisez EventHubBufferedProducerClient à la place.

L’exemple ci-dessous suppose que vous disposez d’un tableau d’événements à la main pour être traité en toute sécurité. Si vous avez des événements en un par un, EventHubBufferedProducerClient est recommandé à la place pour une gestion efficace des lots.

Exemple d’utilisation :

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

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é des limites de taille de lot, utilisez EventHubProducerClient.createBatch() ou EventHubBufferedProducerClient à la place.

Exemple d’utilisation :

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

await client.sendBatch(messages);

Détails du constructeur

EventHubProducerClient(string, EventHubClientOptions)

La classe EventHubProducerClient 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 EventHubProducerClient(connectionString: string, options?: EventHubClientOptions)

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
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 via Web Sockets.
  • userAgent : chaîne à ajouter à la chaîne d’agent utilisateur intégrée transmise au service.

EventHubProducerClient(string, string, EventHubClientOptions)

La classe EventHubProducerClient 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 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 via Web Sockets.
  • userAgent : chaîne à ajouter à la chaîne d’agent utilisateur intégrée transmise au service.

EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)

La classe EventHubProducerClient 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 EventHubProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options?: EventHubClientOptions)

Paramètres

fullyQualifiedNamespace

string

L’espace de noms complet qui est susceptible d’être similaire à votre espace> de <noms.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
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 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éé. Il est probable que ce soit similaire à <votrenamespace.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 à l’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>

Promesse<nulle>

createBatch(CreateBatchOptions)

Crée une instance de EventDataBatch à laquelle vous pouvez ajouter des événements jusqu’à ce que la taille maximale prise en charge soit atteinte. Le lot peut être passé à la méthode sendBatch de l'EventHubProducerClient à envoyer à Azure Event Hubs.

Les événements avec différentes valeurs pour partitionKey ou partitionId doivent être placés dans différents lots. Pour simplifier cette gestion des lots entre les partitions ou pour que le client exécute automatiquement des événements par lot et les envoie dans des intervalles spécifiques, utilisez EventHubBufferedProducerClient à la place.

L’exemple ci-dessous suppose que vous disposez d’un tableau d’événements à la main pour être traité en toute sécurité. Si vous avez des événements en un par un, EventHubBufferedProducerClient est recommandé à la place pour une gestion efficace des lots.

Exemple d’utilisation :

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

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 fonction tryAdd retourne false une fois cette limite atteinte.
  • abortSignal : signalez la demande d’annulation de l’opération.

Retours

Promise<EventDataBatch>

Promesse<EventDataBatch>

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 .

sendBatch(EventDataBatch, OperationOptions)

Envoie un lot d’événements créés à l’aide de EventHubProducerClient.createBatch() au hub d’événements associé.

Les événements avec différentes valeurs pour partitionKey ou partitionId doivent être placés dans différents lots. Pour simplifier cette gestion des lots entre les partitions ou pour que le client exécute automatiquement des événements par lot et les envoie dans des intervalles spécifiques, utilisez EventHubBufferedProducerClient à la place.

L’exemple ci-dessous suppose que vous disposez d’un tableau d’événements à la main pour être traité en toute sécurité. Si vous avez des événements en un par un, EventHubBufferedProducerClient est recommandé à la place pour une gestion efficace des lots.

Exemple d’utilisation :

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

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 : signalez la demande d’annulation de l’opération d’envoi.

Retours

Promise<void>

Promesse<nulle>

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é des limites de taille de lot, utilisez EventHubProducerClient.createBatch() ou EventHubBufferedProducerClient à la place.

Exemple d’utilisation :

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

await client.sendBatch(messages);
function sendBatch(batch: EventData[] | AmqpAnnotatedMessage[], options?: SendBatchOptions): Promise<void>

Paramètres

batch

EventData[] | AmqpAnnotatedMessage[]

Tableau de 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 : signalez la demande d’annulation de l’opération d’envoi.
  • partitionId : la partition à laquelle ce lot 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<void>

Promesse<nulle>