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å Event Hub-instansen
- Använd det fullständiga namnområdet som
<yournamespace>.servicebus.windows.net
och ett autentiseringsuppgifter.
Du kan också skicka en alternativväska för att konfigurera återförsöksprincipen eller proxyinställningarna.
Konstruktorer
Event |
Klassen |
Event |
Klassen |
Event |
Klassen |
Egenskaper
event |
Namnet på den Event Hub-instans som klienten skapas för. |
fully |
Det fullständigt kvalificerade namnområdet för den Event Hub-instans som klienten har skapats för. Detta liknar troligen .servicebus.windows.net. |
identifier | Namnet 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. |
create |
Skapar en instans av Händelser med olika värden för partitionKey eller partitionId måste placeras i olika batchar.
Använd I exemplet nedan förutsätter vi att du har en matris med händelser till hands som ska batchas på ett säkert sätt.
Om du har händelser som kommer in en i taget rekommenderas Exempel på användning:
|
get |
Innehåller information om Event Hub-körning. |
get |
Tillhandahåller ID:t för varje partition som är associerad med händelsehubben. |
get |
Innehåller information om tillståndet för den angivna partitionen. |
send |
Skickar en batch med händelser som skapats med hjälp av Händelser med olika värden för partitionKey eller partitionId måste placeras i olika batchar.
Använd I exemplet nedan förutsätter vi att du har en matris med händelser till hands som ska batchas på ett säkert sätt.
Om du har händelser som kommer in en i taget rekommenderas Exempel på användning:
|
send |
Skickar en matris med händelser som en batch till den associerade händelsehubben. Azure Event Hubs har en gräns för storleken på batchen som kan skickas, vilket om det överskrids resulterar i ett fel med kod Exempel på användning:
|
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 inställningar för återförsök eller proxy.
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 delad nyckel och händelsehubbens sökväg finns i den här anslutningssträngen. e.g. '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. Till 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 inställningar för återförsök eller proxy.
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 sökvägen till händelsehubben, 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. Till 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 inställningar för återförsök eller proxy.
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
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. Använd AzureNamedKeyCredential
från @azure/core-auth om du vill skicka in en SharedAccessKeyName
och SharedAccessKey
utan att använda en anslutningssträng. Fälten mappas till fältet name
respektive key
i AzureNamedKeyCredential
.
Använd AzureSASCredential
från @azure/core-auth om du vill skicka in en SharedAccessSignature
utan att använda en anslutningssträng. Det här fältet mappar 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. Till 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 Event Hub-instans som klienten skapas för.
string eventHubName
Egenskapsvärde
string
fullyQualifiedNamespace
Det fullständigt kvalificerade namnområdet för den Event Hub-instans som klienten har skapats för. Detta liknar troligen .servicebus.windows.net.
string fullyQualifiedNamespace
Egenskapsvärde
string
identifier
Namnet 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 av EventDataBatch
som man kan lägga till händelser tills den maximala storleken som stöds har nåtts.
Batchen kan skickas till metoden sendBatch för EventHubProducerClient
som 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 EventHubBufferedProducerClient
i stället för att förenkla batchhanteringen mellan partitioner eller för att låta klienten automatiskt batcha händelser och skicka dem i specifika intervall.
I exemplet nedan förutsätter vi att du har en matris med händelser till hands som ska batchas på ett säkert sätt.
Om du har händelser som kommer in en i taget rekommenderas EventHubBufferedProducerClient
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 partitionen som händelserna måste skickas till. -
partitionId
: ID för partitionen som batchen med händelser måste skickas till. -
maxSizeInBytes
: Den övre gränsen för batchstorleken. FunktionentryAdd
returnerarfalse
när den här gränsen har nåtts. -
abortSignal
: En signal till begäran om att avbryta åtgärden.
Returer
Promise<EventDataBatch>
Löfte
getEventHubProperties(GetEventHubPropertiesOptions)
Innehåller information om Event Hub-körning.
function getEventHubProperties(options?: GetEventHubPropertiesOptions): Promise<EventHubProperties>
Parametrar
- options
- GetEventHubPropertiesOptions
Den uppsättning alternativ som ska tillämpas på åtgärdsanropet.
Returer
Promise<EventHubProperties>
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 för vilken information krävs.
- options
- GetPartitionPropertiesOptions
Den uppsättning alternativ som ska tillämpas på åtgärdsanropet.
Returer
Promise<PartitionProperties>
Ett löfte som matchar med information om partitionens tillstånd .
sendBatch(EventDataBatch, OperationOptions)
Skickar en batch med händelser som skapats med hjälp av EventHubProducerClient.createBatch()
till den associerade händelsehubben.
Händelser med olika värden för partitionKey eller partitionId måste placeras i olika batchar.
Använd EventHubBufferedProducerClient
i stället för att förenkla batchhanteringen mellan partitioner eller för att låta klienten automatiskt batcha händelser och skicka dem i specifika intervall.
I exemplet nedan förutsätter vi att du har en matris med händelser till hands som ska batchas på ett säkert sätt.
Om du har händelser som kommer in en i taget rekommenderas EventHubBufferedProducerClient
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 storleken på batchen som kan skickas, vilket om det överskrids resulterar i ett fel med kod MessageTooLargeError
.
Om du vill skicka inom batchstorleksgränser på ett säkert sätt använder du EventHubProducerClient.createBatch()
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
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 inställningen är inställd kanpartitionKey
inte anges. -
partitionKey
: Ett värde som hashas för att skapa en partitionstilldelning. Om inställningen är inställd kanpartitionId
inte anges.
Returer
Promise<void>
Löfte