Dela via


EventHubProducerClient class

Klassen EventHubProducerClient används för att skicka händelser till en händelsehubb.

Det finns flera sätt att skapa en EventHubProducerClient

  • Använd anslutningssträngen från SAS-principen som skapats för din Event Hub-instans.
  • Använd anslutningssträngen från SAS-principen som skapats för händelsehubbens namnområde och namnet på händelsehubbens instans
  • Använd det fullständiga namnområdet, till exempel <yournamespace>.servicebus.windows.net, och ett objekt för autentiseringsuppgifter.

Du kan också skicka en alternativuppsättning för att konfigurera återförsöksprincipen eller proxyinställningarna.

Konstruktorer

EventHubProducerClient(string, EventHubClientOptions)

Klassen EventHubProducerClient används för att skicka händelser till en händelsehubb. Använd parmetern options för att konfigurera återförsöksprinciper eller proxyinställningar.

EventHubProducerClient(string, string, EventHubClientOptions)

Klassen EventHubProducerClient används för att skicka händelser till en händelsehubb. Använd parmetern options för att konfigurera återförsöksprinciper eller proxyinställningar.

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

Klassen EventHubProducerClient används för att skicka händelser till en händelsehubb. Använd parmetern options för att konfigurera återförsöksprinciper eller proxyinställningar.

Egenskaper

eventHubName

Namnet på den Händelsehubbinstans som klienten har skapats för.

fullyQualifiedNamespace

Det fullständigt kvalificerade namnområdet för den Händelsehubbinstans som klienten har skapats för. Detta liknar troligen .servicebus.windows.net.

identifier

Det namn som används för att identifiera denna EventHubProducerClient. Om det inte anges eller är tomt genereras en slumpmässig unik.

Metoder

close()

Stänger AMQP-anslutningen till Event Hub-instansen och returnerar ett löfte som kommer att lösas när frånkopplingen har slutförts.

createBatch(CreateBatchOptions)

Skapar en instans där EventDataBatch man kan lägga till händelser tills den maximala storleken som stöds har uppnåtts. Batchen kan skickas till sendBatch-metoden för som EventHubProducerClient ska skickas till Azure Event Hubs.

Händelser med olika värden för partitionKey eller partitionId måste placeras i olika batchar. Använd i stället för att förenkla batchhanteringen mellan partitioner eller låta klienten automatiskt batcha händelser och skicka dem i specifika intervall EventHubBufferedProducerClient .

Exemplet nedan förutsätter att du har en matris med händelser till hands för att batchhanteras på ett säkert sätt. Om du har händelser som kommer in en EventHubBufferedProducerClient i taget rekommenderas i stället för effektiv hantering av batchar.

Exempel på användning:

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)

Innehåller händelsehubbens körningsinformation.

getPartitionIds(GetPartitionIdsOptions)

Tillhandahåller ID:t för varje partition som är associerad med händelsehubben.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Innehåller information om tillståndet för den angivna partitionen.

sendBatch(EventDataBatch, OperationOptions)

Skickar en batch med händelser som skapats med till EventHubProducerClient.createBatch() den associerade händelsehubben.

Händelser med olika värden för partitionKey eller partitionId måste placeras i olika batchar. Använd i stället för att förenkla batchhanteringen mellan partitioner eller låta klienten automatiskt batcha händelser och skicka dem i specifika intervall EventHubBufferedProducerClient .

Exemplet nedan förutsätter att du har en matris med händelser till hands för att batchhanteras på ett säkert sätt. Om du har händelser som kommer in en EventHubBufferedProducerClient i taget rekommenderas i stället för effektiv hantering av batchar.

Exempel på användning:

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)

Skickar en matris med händelser som en batch till den associerade händelsehubben.

Azure Event Hubs har en gräns för batchens storlek som kan skickas, vilket om det överskrids resulterar i ett fel med koden MessageTooLargeError. Om du vill skicka inom batchstorleksgränserna på ett säkert sätt använder EventHubProducerClient.createBatch() du eller EventHubBufferedProducerClient i stället.

Exempel på användning:

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

Konstruktorinformation

EventHubProducerClient(string, EventHubClientOptions)

Klassen EventHubProducerClient används för att skicka händelser till en händelsehubb. Använd parmetern options för att konfigurera återförsöksprinciper eller proxyinställningar.

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

Parametrar

connectionString

string

Anslutningssträngen som ska användas för att ansluta till Event Hub-instansen. Det förväntas att egenskaperna för den delade nyckeln och händelsehubbens sökväg finns i den här anslutningssträngen. t.ex. "Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubClientOptions

En uppsättning alternativ som ska användas när klienten konfigureras.

  • retryOptions : Konfigurerar återförsöksprincipen för alla åtgärder på klienten. Exempel: { "maxRetries": 4 } eller { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfigurerar kanalisering av AMQP-anslutningen via Web Sockets.
  • userAgent : En sträng som ska läggas till i den inbyggda användaragentsträngen som skickas till tjänsten.

EventHubProducerClient(string, string, EventHubClientOptions)

Klassen EventHubProducerClient används för att skicka händelser till en händelsehubb. Använd parmetern options för att konfigurera återförsöksprinciper eller proxyinställningar.

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

Parametrar

connectionString

string

Anslutningssträngen som ska användas för att ansluta till Event Hubs-namnområdet. Det förväntas att egenskaperna för den delade nyckeln finns i den här anslutningssträngen, men inte i händelsehubbens sökväg, t.ex. "Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

Namnet på den specifika händelsehubb som klienten ska anslutas till.

options
EventHubClientOptions

En uppsättning alternativ som ska användas när klienten konfigureras.

  • retryOptions : Konfigurerar återförsöksprincipen för alla åtgärder på klienten. Exempel: { "maxRetries": 4 } eller { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfigurerar kanalisering av AMQP-anslutningen via Web Sockets.
  • userAgent : En sträng som ska läggas till i den inbyggda användaragentsträngen som skickas till tjänsten.

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

Klassen EventHubProducerClient används för att skicka händelser till en händelsehubb. Använd parmetern options för att konfigurera återförsöksprinciper eller proxyinställningar.

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

Parametrar

fullyQualifiedNamespace

string

Det fullständiga namnområdet som sannolikt liknar .servicebus.windows.net

eventHubName

string

Namnet på den specifika händelsehubb som klienten ska anslutas till.

credential

TokenCredential | NamedKeyCredential | SASCredential

Ett autentiseringsobjekt som används av klienten för att hämta token för att autentisera anslutningen till Azure Event Hubs-tjänsten. Se @azure/identitet för att skapa autentiseringsuppgifter som stöder AAD-autentisering. AzureNamedKeyCredential Använd från @azure/core-auth om du vill skicka in en SharedAccessKeyName och SharedAccessKey utan att använda en anslutningssträng. Dessa fält mappas namekey till respektive fält i AzureNamedKeyCredential. AzureSASCredential Använd från @azure/core-auth om du vill skicka in en SharedAccessSignature utan att använda en anslutningssträng. Det här fältet mappas till signature i AzureSASCredential.

options
EventHubClientOptions

En uppsättning alternativ som ska användas när klienten konfigureras.

  • retryOptions : Konfigurerar återförsöksprincipen för alla åtgärder på klienten. Exempel: { "maxRetries": 4 } eller { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfigurerar kanalisering av AMQP-anslutningen via Web Sockets.
  • userAgent : En sträng som ska läggas till i den inbyggda användaragentsträngen som skickas till tjänsten.

Egenskapsinformation

eventHubName

Namnet på den Händelsehubbinstans som klienten har skapats för.

string eventHubName

Egenskapsvärde

string

fullyQualifiedNamespace

Det fullständigt kvalificerade namnområdet för den Händelsehubbinstans som klienten har skapats för. Detta liknar troligen .servicebus.windows.net.

string fullyQualifiedNamespace

Egenskapsvärde

string

identifier

Det namn som används för att identifiera denna EventHubProducerClient. Om det inte anges eller är tomt genereras en slumpmässig unik.

identifier: string

Egenskapsvärde

string

Metodinformation

close()

Stänger AMQP-anslutningen till Event Hub-instansen och returnerar ett löfte som kommer att lösas när frånkopplingen har slutförts.

function close(): Promise<void>

Returer

Promise<void>

Löfte

createBatch(CreateBatchOptions)

Skapar en instans där EventDataBatch man kan lägga till händelser tills den maximala storleken som stöds har uppnåtts. Batchen kan skickas till sendBatch-metoden för som EventHubProducerClient ska skickas till Azure Event Hubs.

Händelser med olika värden för partitionKey eller partitionId måste placeras i olika batchar. Använd i stället för att förenkla batchhanteringen mellan partitioner eller låta klienten automatiskt batcha händelser och skicka dem i specifika intervall EventHubBufferedProducerClient .

Exemplet nedan förutsätter att du har en matris med händelser till hands för att batchhanteras på ett säkert sätt. Om du har händelser som kommer in en EventHubBufferedProducerClient i taget rekommenderas i stället för effektiv hantering av batchar.

Exempel på användning:

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>

Parametrar

options
CreateBatchOptions

Konfigurerar batchens beteende.

  • partitionKey: Ett värde som hashas och används av Azure Event Hubs-tjänsten för att fastställa den partition som händelserna måste skickas till.
  • partitionId : ID för partitionen som händelsebatchen måste skickas till.
  • maxSizeInBytes: Den övre gränsen för batchstorleken. Funktionen tryAdd returneras false när den här gränsen har uppnåtts.
  • abortSignal : En signal till begäran om att avbryta åtgärden.

Returer

Promise<EventDataBatch>

Löfte

getEventHubProperties(GetEventHubPropertiesOptions)

Innehåller händelsehubbens körningsinformation.

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

Parametrar

options
GetEventHubPropertiesOptions

Den uppsättning alternativ som ska tillämpas på åtgärdsanropet.

Returer

Ett löfte som matchar med information om Event Hub-instansen.

getPartitionIds(GetPartitionIdsOptions)

Tillhandahåller ID:t för varje partition som är associerad med händelsehubben.

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

Parametrar

options
GetPartitionIdsOptions

Den uppsättning alternativ som ska tillämpas på åtgärdsanropet.

Returer

Promise<string[]>

Ett löfte som matchar med en matris med strängar som representerar ID:t för varje partition som är associerad med händelsehubben.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Innehåller information om tillståndet för den angivna partitionen.

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

Parametrar

partitionId

string

ID:t för partitionen som information krävs för.

options
GetPartitionPropertiesOptions

Den uppsättning alternativ som ska tillämpas på åtgärdsanropet.

Returer

Ett löfte som matchar med information om partitionens tillstånd .

sendBatch(EventDataBatch, OperationOptions)

Skickar en batch med händelser som skapats med till EventHubProducerClient.createBatch() den associerade händelsehubben.

Händelser med olika värden för partitionKey eller partitionId måste placeras i olika batchar. Använd i stället för att förenkla batchhanteringen mellan partitioner eller låta klienten automatiskt batcha händelser och skicka dem i specifika intervall EventHubBufferedProducerClient .

Exemplet nedan förutsätter att du har en matris med händelser till hands för att batchhanteras på ett säkert sätt. Om du har händelser som kommer in en EventHubBufferedProducerClient i taget rekommenderas i stället för effektiv hantering av batchar.

Exempel på användning:

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>

Parametrar

batch
EventDataBatch

En batch med händelser som du kan skapa med hjälp av metoden createBatch .

options
OperationOptions

En uppsättning alternativ som kan anges för att påverka hur händelser skickas till den associerade händelsehubben.

  • abortSignal : En signal till begäran om att avbryta sändningsåtgärden.

Returer

Promise<void>

Löfte

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

Skickar en matris med händelser som en batch till den associerade händelsehubben.

Azure Event Hubs har en gräns för batchens storlek som kan skickas, vilket om det överskrids resulterar i ett fel med koden MessageTooLargeError. Om du vill skicka inom batchstorleksgränserna på ett säkert sätt använder EventHubProducerClient.createBatch() du eller EventHubBufferedProducerClient i stället.

Exempel på användning:

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

Parametrar

batch

EventData[] | AmqpAnnotatedMessage[]

En matris med EventData eller AmqpAnnotatedMessage.

options
SendBatchOptions

En uppsättning alternativ som kan anges för att påverka hur händelser skickas till den associerade händelsehubben.

  • abortSignal : En signal till begäran om att avbryta sändningsåtgärden.
  • partitionId : Partitionen som den här batchen skickas till. Om detta anges partitionKey går det inte att ställa in.
  • partitionKey : Ett värde som hashas för att skapa en partitionstilldelning. Om detta anges partitionId går det inte att ställa in.

Returer

Promise<void>

Löfte