EventHubProducerClient class
De EventHubProducerClient
klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden.
Er zijn meerdere manieren om een te maken EventHubProducerClient
- Gebruik de connection string uit het SAS-beleid dat is gemaakt voor uw Event Hub-exemplaar.
- Gebruik de connection string 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.net
, en een referentieobject.
U kunt desgewenst ook een optieverzameling doorgeven om het beleid voor opnieuw proberen of proxy-instellingen te configureren.
Constructors
Event |
De |
Event |
De |
Event |
De |
Eigenschappen
event |
De naam van het Event Hub-exemplaar waarvoor deze client is gemaakt. |
fully |
De volledig gekwalificeerde naamruimte van het Event Hub-exemplaar waarvoor deze client is 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. |
create |
Hiermee maakt u een exemplaar van Gebeurtenissen met verschillende waarden voor partitionKey of partitionId moeten in verschillende batches worden geplaatst.
Gebruik in plaats daarvan om dergelijk batchbeheer tussen partities te vereenvoudigen of om de client automatisch batchgebeurtenissen te laten uitvoeren en deze in specifieke intervallen In het onderstaande voorbeeld wordt ervan uitgegaan dat u een matrix met gebeurtenissen hebt die veilig in batches moeten worden uitgevoerd.
Als er gebeurtenissen één voor één binnenkomen, Gebruiksvoorbeeld:
|
get |
Bevat de informatie over de Event Hub-runtime. |
get |
Geeft de id op voor elke partitie die is gekoppeld aan de Event Hub. |
get |
Bevat informatie over de status van de opgegeven partitie. |
send |
Verzendt een batch met gebeurtenissen die zijn gemaakt met behulp Gebeurtenissen met verschillende waarden voor partitionKey of partitionId moeten in verschillende batches worden geplaatst.
Gebruik in plaats daarvan om dergelijk batchbeheer tussen partities te vereenvoudigen of om de client automatisch batchgebeurtenissen te laten uitvoeren en deze in specifieke intervallen In het onderstaande voorbeeld wordt ervan uitgegaan dat u een matrix met gebeurtenissen hebt die veilig in batches moeten worden uitgevoerd.
Als er gebeurtenissen één voor één binnenkomen, Gebruiksvoorbeeld:
|
send |
Verzendt 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. Als deze wordt overschreden, resulteert dit in een fout met code Gebruiksvoorbeeld:
|
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 proxy-instellingen te configureren.
new EventHubProducerClient(connectionString: string, options?: EventHubClientOptions)
Parameters
- connectionString
-
string
De connection string 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 zijn opgenomen in deze connection string. 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 reeks 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 channeling 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 proxy-instellingen te configureren.
new EventHubProducerClient(connectionString: string, eventHubName: string, options?: EventHubClientOptions)
Parameters
- connectionString
-
string
De connection string 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 connection string, maar niet in 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 reeks 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 channeling 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 proxy-instellingen 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
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/identity voor het maken van referenties die ondersteuning bieden voor AAD-verificatie. Gebruik de AzureNamedKeyCredential
from @azure/core-auth als u een SharedAccessKeyName
en SharedAccessKey
wilt doorgeven zonder een connection string te gebruiken. Deze velden worden respectievelijk toegewezen aan het name
veld en key
in AzureNamedKeyCredential
.
Gebruik de AzureSASCredential
van @azure/core-auth als u een SharedAccessSignature
wilt doorgeven zonder een connection string te gebruiken. Dit veld wordt toegewezen aan signature
in AzureSASCredential
.
- options
- EventHubClientOptions
Een reeks 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 channeling 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 is gemaakt.
string eventHubName
Waarde van eigenschap
string
fullyQualifiedNamespace
De volledig gekwalificeerde naamruimte van het Event Hub-exemplaar waarvoor deze client is 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>
Belofte
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 moet worden verzonden naar Azure Event Hubs.
Gebeurtenissen met verschillende waarden voor partitionKey of partitionId moeten in verschillende batches worden geplaatst.
Gebruik in plaats daarvan om dergelijk batchbeheer tussen partities te vereenvoudigen of om de client automatisch batchgebeurtenissen te laten uitvoeren en deze in specifieke intervallen EventHubBufferedProducerClient
te verzenden.
In het onderstaande voorbeeld wordt ervan uitgegaan dat u een matrix met gebeurtenissen hebt die veilig in batches moeten worden uitgevoerd.
Als er gebeurtenissen één voor één binnenkomen, EventHubBufferedProducerClient
wordt in plaats daarvan aanbevolen voor efficiënt beheer van batches.
Gebruiksvoorbeeld:
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. DetryAdd
functie retourneertfalse
nadat deze limiet is bereikt. -
abortSignal
: een signaal voor de aanvraag om de bewerking te annuleren.
Retouren
Promise<EventDataBatch>
Belofte
getEventHubProperties(GetEventHubPropertiesOptions)
Bevat de 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
Promise<EventHubProperties>
Een belofte die wordt opgelost 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 van 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
Promise<PartitionProperties>
Een belofte die wordt omgezet met informatie over de status van de partitie .
sendBatch(EventDataBatch, OperationOptions)
Verzendt een batch met gebeurtenissen die zijn gemaakt met behulp EventHubProducerClient.createBatch()
van naar de bijbehorende Event Hub.
Gebeurtenissen met verschillende waarden voor partitionKey of partitionId moeten in verschillende batches worden geplaatst.
Gebruik in plaats daarvan om dergelijk batchbeheer tussen partities te vereenvoudigen of om de client automatisch batchgebeurtenissen te laten uitvoeren en deze in specifieke intervallen EventHubBufferedProducerClient
te verzenden.
In het onderstaande voorbeeld wordt ervan uitgegaan dat u een matrix met gebeurtenissen hebt die veilig in batches moeten worden uitgevoerd.
Als er gebeurtenissen één voor één binnenkomen, EventHubBufferedProducerClient
wordt in plaats daarvan aanbevolen voor efficiënt beheer van batches.
Gebruiksvoorbeeld:
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 met 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 naar de bijbehorende Event Hub worden verzonden.
-
abortSignal
: een signaal voor de aanvraag om de verzendbewerking te annuleren.
Retouren
Promise<void>
Belofte
sendBatch(EventData[] | AmqpAnnotatedMessage[], SendBatchOptions)
Verzendt 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. Als deze wordt overschreden, resulteert dit in een fout met code MessageTooLargeError
.
Als u veilig wilt verzenden binnen batchgroottelimieten, gebruikt EventHubProducerClient.createBatch()
u of EventHubBufferedProducerClient
in plaats daarvan.
Gebruiksvoorbeeld:
const client = new EventHubProducerClient(connectionString);
await client.sendBatch(messages);
function sendBatch(batch: EventData[] | AmqpAnnotatedMessage[], options?: SendBatchOptions): Promise<void>
Parameters
- batch
Een matrix van EventData of AmqpAnnotatedMessage
.
- options
- SendBatchOptions
Een set opties die kunnen worden opgegeven om de manier te beïnvloeden waarop gebeurtenissen naar de bijbehorende Event Hub worden verzonden.
-
abortSignal
: een signaal voor de aanvraag om de verzendbewerking te annuleren. -
partitionId
: de partitie waarnaar deze batch wordt verzonden. Indien ingesteld,partitionKey
kan niet worden ingesteld. -
partitionKey
: Een waarde die wordt gehasht om een partitietoewijzing te produceren. Indien ingesteld,partitionId
kan niet worden ingesteld.
Retouren
Promise<void>
Belofte