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
| 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éé. 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. |
| create |
Crée une instance de 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 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, 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 de 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 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, 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 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
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 fonctiontryAddretournefalseune 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
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 .
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
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,partitionKeyne peut pas être définie. -
partitionKey: valeur hachée pour produire une affectation de partition. Si elle est définie,partitionIdne peut pas être définie.
Retours
Promise<void>
Promesse<nulle>