Delen via


EventHubProducerClient class

De EventHubProducerClient-klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden.

Er zijn meerdere manieren om een EventHubProducerClient te maken

  • Gebruik de verbindingsreeks van het SAS-beleid dat is gemaakt voor uw Event Hub-exemplaar.
  • Gebruik de verbindingsreeks van het SAS-beleid dat is gemaakt voor uw Event Hub-naamruimte en de naam van het Event Hub-exemplaar
  • Gebruik de volledige naamruimte zoals <yournamespace>.servicebus.windows.neten een referentieobject.

U kunt eventueel ook een optiestas doorgeven om het beleid of de proxy-instellingen voor opnieuw proberen te configureren.

Constructors

EventHubProducerClient(string, EventHubClientOptions)

De EventHubProducerClient-klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden. Gebruik de options parmeter om beleid voor opnieuw proberen of proxyinstellingen te configureren.

EventHubProducerClient(string, string, EventHubClientOptions)

De EventHubProducerClient-klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden. Gebruik de options parmeter om beleid voor opnieuw proberen of proxyinstellingen te configureren.

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

De EventHubProducerClient-klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden. Gebruik de options parmeter om beleid voor opnieuw proberen of proxyinstellingen te configureren.

Eigenschappen

eventHubName

De naam van het Event Hub-exemplaar waarvoor deze client wordt gemaakt.

fullyQualifiedNamespace

De volledig gekwalificeerde naamruimte van het Event Hub-exemplaar waarvoor deze client wordt gemaakt. Dit is waarschijnlijk vergelijkbaar met .servicebus.windows.net.

identifier

De naam die wordt gebruikt om deze EventHubProducerClient te identificeren. Als dit niet is opgegeven of leeg is, wordt er een willekeurige unieke gegenereerd.

Methoden

close()

Sluit de AMQP-verbinding met het Event Hub-exemplaar en retourneert een belofte die wordt opgelost wanneer de verbinding is verbroken.

createBatch(CreateBatchOptions)

Hiermee maakt u een exemplaar van EventDataBatch waaraan u gebeurtenissen kunt toevoegen totdat de maximale ondersteunde grootte is bereikt. De batch kan worden doorgegeven aan de sendBatch-methode van de EventHubProducerClient die naar Azure Event Hubs moeten worden verzonden.

Gebeurtenissen met verschillende waarden voor partitionKey of partitionId moeten in verschillende batches worden geplaatst. Gebruik in plaats daarvan EventHubBufferedProducerClient om dergelijke batchbeheer tussen partities te vereenvoudigen of om de client automatisch batchgebeurtenissen te laten batcheren en deze in specifieke intervallen te verzenden.

In het onderstaande voorbeeld wordt ervan uitgegaan dat u een matrix met gebeurtenissen bij de hand hebt om veilig te worden gebatcheerd. Als u gebeurtenissen één voor één hebt, wordt EventHubBufferedProducerClient aanbevolen in plaats daarvan voor efficiënt beheer van batches.

Voorbeeldgebruik:

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)

Biedt informatie over de Event Hub-runtime.

getPartitionIds(GetPartitionIdsOptions)

Geeft de id op voor elke partitie die is gekoppeld aan de Event Hub.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Bevat informatie over de status van de opgegeven partitie.

sendBatch(EventDataBatch, OperationOptions)

Hiermee wordt een batch gebeurtenissen verzonden die zijn gemaakt met behulp van EventHubProducerClient.createBatch() naar de bijbehorende Event Hub.

Gebeurtenissen met verschillende waarden voor partitionKey of partitionId moeten in verschillende batches worden geplaatst. Gebruik in plaats daarvan EventHubBufferedProducerClient om dergelijke batchbeheer tussen partities te vereenvoudigen of om de client automatisch batchgebeurtenissen te laten batcheren en deze in specifieke intervallen te verzenden.

In het onderstaande voorbeeld wordt ervan uitgegaan dat u een matrix met gebeurtenissen bij de hand hebt om veilig te worden gebatcheerd. Als u gebeurtenissen één voor één hebt, wordt EventHubBufferedProducerClient aanbevolen in plaats daarvan voor efficiënt beheer van batches.

Voorbeeldgebruik:

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)

Hiermee verzendt u een matrix met gebeurtenissen als een batch naar de bijbehorende Event Hub.

Azure Event Hubs heeft een limiet voor de grootte van de batch die kan worden verzonden, wat resulteert in een fout met code MessageTooLargeError. Als u veilig binnen batchgroottelimieten wilt verzenden, gebruikt u in plaats daarvan EventHubProducerClient.createBatch() of EventHubBufferedProducerClient.

Voorbeeldgebruik:

const client = new EventHubProducerClient(connectionString);
await client.sendBatch(messages);

Constructordetails

EventHubProducerClient(string, EventHubClientOptions)

De EventHubProducerClient-klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden. Gebruik de options parmeter om beleid voor opnieuw proberen of proxyinstellingen te configureren.

new EventHubProducerClient(connectionString: string, options?: EventHubClientOptions)

Parameters

connectionString

string

De verbindingsreeks die moet worden gebruikt om verbinding te maken met het Event Hub-exemplaar. Er wordt verwacht dat de eigenschappen van de gedeelde sleutel en het Event Hub-pad zich in deze verbindingsreeks bevinden. bijvoorbeeld 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubClientOptions

Een set opties die moeten worden toegepast bij het configureren van de client.

  • retryOptions: hiermee configureert u het beleid voor opnieuw proberen voor alle bewerkingen op de client. Bijvoorbeeld { "maxRetries": 4 } of { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: hiermee configureert u de kanaalling van de AMQP-verbinding via Web Sockets.
  • userAgent: een tekenreeks die moet worden toegevoegd aan de ingebouwde tekenreeks van de gebruikersagent die wordt doorgegeven aan de service.

EventHubProducerClient(string, string, EventHubClientOptions)

De EventHubProducerClient-klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden. Gebruik de options parmeter om beleid voor opnieuw proberen of proxyinstellingen te configureren.

new EventHubProducerClient(connectionString: string, eventHubName: string, options?: EventHubClientOptions)

Parameters

connectionString

string

De verbindingsreeks die moet worden gebruikt om verbinding te maken met de Event Hubs-naamruimte. Er wordt verwacht dat de eigenschappen van de gedeelde sleutel zijn opgenomen in deze verbindingsreeks, maar niet het Event Hub-pad, bijvoorbeeld 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

De naam van de specifieke Event Hub waarmee de client moet worden verbonden.

options
EventHubClientOptions

Een set opties die moeten worden toegepast bij het configureren van de client.

  • retryOptions: hiermee configureert u het beleid voor opnieuw proberen voor alle bewerkingen op de client. Bijvoorbeeld { "maxRetries": 4 } of { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: hiermee configureert u de kanaalling van de AMQP-verbinding via Web Sockets.
  • userAgent: een tekenreeks die moet worden toegevoegd aan de ingebouwde tekenreeks van de gebruikersagent die wordt doorgegeven aan de service.

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

De EventHubProducerClient-klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden. Gebruik de options parmeter om beleid voor opnieuw proberen of proxyinstellingen te configureren.

new EventHubProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options?: EventHubClientOptions)

Parameters

fullyQualifiedNamespace

string

De volledige naamruimte die waarschijnlijk vergelijkbaar is met .servicebus.windows.net

eventHubName

string

De naam van de specifieke Event Hub waarmee de client moet worden verbonden.

credential

TokenCredential | NamedKeyCredential | SASCredential

Een referentieobject dat door de client wordt gebruikt om het token op te halen om de verbinding met de Azure Event Hubs-service te verifiëren. Zie @azure/identiteit voor het maken van referenties die ondersteuning bieden voor AAD-verificatie. Gebruik de AzureNamedKeyCredential van @azure/core-verificatie als u een SharedAccessKeyName en SharedAccessKey wilt doorgeven zonder een verbindingsreeks te gebruiken. Deze velden worden respectievelijk toegewezen aan het name- en key veld in AzureNamedKeyCredential. Gebruik de AzureSASCredential van @azure/core-verificatie als u een SharedAccessSignature wilt doorgeven zonder een verbindingsreeks te gebruiken. Dit veld wordt toegewezen aan signature in AzureSASCredential.

options
EventHubClientOptions

Een set opties die moeten worden toegepast bij het configureren van de client.

  • retryOptions: hiermee configureert u het beleid voor opnieuw proberen voor alle bewerkingen op de client. Bijvoorbeeld { "maxRetries": 4 } of { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: hiermee configureert u de kanaalling van de AMQP-verbinding via Web Sockets.
  • userAgent: een tekenreeks die moet worden toegevoegd aan de ingebouwde tekenreeks van de gebruikersagent die wordt doorgegeven aan de service.

Eigenschapdetails

eventHubName

De naam van het Event Hub-exemplaar waarvoor deze client wordt gemaakt.

string eventHubName

Waarde van eigenschap

string

fullyQualifiedNamespace

De volledig gekwalificeerde naamruimte van het Event Hub-exemplaar waarvoor deze client wordt gemaakt. Dit is waarschijnlijk vergelijkbaar met .servicebus.windows.net.

string fullyQualifiedNamespace

Waarde van eigenschap

string

identifier

De naam die wordt gebruikt om deze EventHubProducerClient te identificeren. Als dit niet is opgegeven of leeg is, wordt er een willekeurige unieke gegenereerd.

identifier: string

Waarde van eigenschap

string

Methodedetails

close()

Sluit de AMQP-verbinding met het Event Hub-exemplaar en retourneert een belofte die wordt opgelost wanneer de verbinding is verbroken.

function close(): Promise<void>

Retouren

Promise<void>

Beloven

createBatch(CreateBatchOptions)

Hiermee maakt u een exemplaar van EventDataBatch waaraan u gebeurtenissen kunt toevoegen totdat de maximale ondersteunde grootte is bereikt. De batch kan worden doorgegeven aan de sendBatch-methode van de EventHubProducerClient die naar Azure Event Hubs moeten worden verzonden.

Gebeurtenissen met verschillende waarden voor partitionKey of partitionId moeten in verschillende batches worden geplaatst. Gebruik in plaats daarvan EventHubBufferedProducerClient om dergelijke batchbeheer tussen partities te vereenvoudigen of om de client automatisch batchgebeurtenissen te laten batcheren en deze in specifieke intervallen te verzenden.

In het onderstaande voorbeeld wordt ervan uitgegaan dat u een matrix met gebeurtenissen bij de hand hebt om veilig te worden gebatcheerd. Als u gebeurtenissen één voor één hebt, wordt EventHubBufferedProducerClient aanbevolen in plaats daarvan voor efficiënt beheer van batches.

Voorbeeldgebruik:

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>

Parameters

options
CreateBatchOptions

Hiermee configureert u het gedrag van de batch.

  • partitionKey: een waarde die wordt gehasht en gebruikt door de Azure Event Hubs-service om de partitie te bepalen waarnaar de gebeurtenissen moeten worden verzonden.
  • partitionId: id van de partitie waarnaar de batch met gebeurtenissen moet worden verzonden.
  • maxSizeInBytes: de bovengrens voor de grootte van de batch. De functie tryAdd retourneert false nadat deze limiet is bereikt.
  • abortSignal: een signaal voor de aanvraag om de bewerking te annuleren.

Retouren

Promise<EventDataBatch>

Beloven

getEventHubProperties(GetEventHubPropertiesOptions)

Biedt informatie over de Event Hub-runtime.

function getEventHubProperties(options?: GetEventHubPropertiesOptions): Promise<EventHubProperties>

Parameters

options
GetEventHubPropertiesOptions

De set opties die moeten worden toegepast op de bewerkingsoproep.

Retouren

Een belofte die wordt omgezet met informatie over het Event Hub-exemplaar.

getPartitionIds(GetPartitionIdsOptions)

Geeft de id op voor elke partitie die is gekoppeld aan de Event Hub.

function getPartitionIds(options?: GetPartitionIdsOptions): Promise<string[]>

Parameters

options
GetPartitionIdsOptions

De set opties die moeten worden toegepast op de bewerkingsoproep.

Retouren

Promise<string[]>

Een belofte die wordt omgezet met een matrix met tekenreeksen die de id vertegenwoordigen voor elke partitie die is gekoppeld aan de Event Hub.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Bevat informatie over de status van de opgegeven partitie.

function getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise<PartitionProperties>

Parameters

partitionId

string

De id van de partitie waarvoor informatie is vereist.

options
GetPartitionPropertiesOptions

De set opties die moeten worden toegepast op de bewerkingsoproep.

Retouren

Een belofte die wordt omgezet met informatie over de status van de partitie.

sendBatch(EventDataBatch, OperationOptions)

Hiermee wordt een batch gebeurtenissen verzonden die zijn gemaakt met behulp van EventHubProducerClient.createBatch() naar de bijbehorende Event Hub.

Gebeurtenissen met verschillende waarden voor partitionKey of partitionId moeten in verschillende batches worden geplaatst. Gebruik in plaats daarvan EventHubBufferedProducerClient om dergelijke batchbeheer tussen partities te vereenvoudigen of om de client automatisch batchgebeurtenissen te laten batcheren en deze in specifieke intervallen te verzenden.

In het onderstaande voorbeeld wordt ervan uitgegaan dat u een matrix met gebeurtenissen bij de hand hebt om veilig te worden gebatcheerd. Als u gebeurtenissen één voor één hebt, wordt EventHubBufferedProducerClient aanbevolen in plaats daarvan voor efficiënt beheer van batches.

Voorbeeldgebruik:

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>

Parameters

batch
EventDataBatch

Een batch gebeurtenissen die u kunt maken met behulp van de methode createBatch.

options
OperationOptions

Een set opties die kunnen worden opgegeven om de manier te beïnvloeden waarop gebeurtenissen worden verzonden naar de bijbehorende Event Hub.

  • abortSignal: een signaal voor de aanvraag om de verzendbewerking te annuleren.

Retouren

Promise<void>

Beloven

sendBatch(EventData[] | AmqpAnnotatedMessage[], SendBatchOptions)

Hiermee verzendt u een matrix met gebeurtenissen als een batch naar de bijbehorende Event Hub.

Azure Event Hubs heeft een limiet voor de grootte van de batch die kan worden verzonden, wat resulteert in een fout met code MessageTooLargeError. Als u veilig binnen batchgroottelimieten wilt verzenden, gebruikt u in plaats daarvan EventHubProducerClient.createBatch() of EventHubBufferedProducerClient.

Voorbeeldgebruik:

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

Parameters

batch

EventData[] | AmqpAnnotatedMessage[]

Een matrix van EventData- of AmqpAnnotatedMessage.

options
SendBatchOptions

Een set opties die kunnen worden opgegeven om de manier te beïnvloeden waarop gebeurtenissen worden verzonden naar de bijbehorende Event Hub.

  • abortSignal: een signaal voor de aanvraag om de verzendbewerking te annuleren.
  • partitionId: de partitie naar deze batch wordt verzonden. Als deze optie is ingesteld, kan partitionKey niet worden ingesteld.
  • partitionKey: een waarde die is gehasht om een partitietoewijzing te produceren. Als deze optie is ingesteld, kan partitionId niet worden ingesteld.

Retouren

Promise<void>

Beloven