Sdílet prostřednictvím


@azure/event-hubs package

Třídy

EventHubBufferedProducerClient

EventHubBufferedProducerClientslouží k publikování událostí do konkrétního centra událostí.

EventHubBufferedProducerClient nepublikuje události okamžitě. Místo toho jsou události uloženy do vyrovnávací paměti, aby je bylo možné efektivně dávkot a publikovat, když je dávka plná nebo maxWaitTimeInMs uplynuly bez nových událostí, které se nezačtou do fronty.

V závislosti na možnostech zadaných při zařazení událostí do fronty je možné je automaticky přiřadit k oddílu, seskupit podle zadaného klíče oddílu nebo přiřadit speciálně požadovaný oddíl.

Cílem tohoto modelu je posunout zátěž dávkové správy od volajících, a to za cenu ne deterministického načasování, kdy budou události publikovány. Je potřeba zvážit i další kompromisy:

  • Pokud dojde k chybě aplikace, události v vyrovnávací paměti nebudou publikovány. Aby se zabránilo ztrátě dat, volajícím se doporučuje sledovat průběh publikování pomocí onSendEventsSuccessHandler a onSendEventsErrorHandler obslužných rutin.
  • Události určující klíč oddílu mohou být přiřazeny jinému oddílu než ty, které používají stejný klíč s jinými producenty.
  • V nepravděpodobném případě, že oddíl bude dočasně nedostupný, EventHubBufferedProducerClient může trvat déle než ostatní producenti.

Ve scénářích, kdy je důležité, aby se události publikovaly okamžitě s deterministickým výsledkem, zajistěte, aby byly klíče oddílů přiřazeny k oddílu konzistentnímu s jinými vydavateli nebo pokud je maximalizace dostupnosti požadavkem, doporučujeme použít EventHubProducerClient.

EventHubConsumerClient

Třída EventHubConsumerClient slouží ke zpracování událostí z centra událostí.

Existuje několik způsobů, jak vytvořit EventHubConsumerClient

  • Použijte připojovací řetězec ze zásad SAS vytvořených pro vaši instanci centra událostí.
  • Použijte připojovací řetězec ze zásad SAS vytvořených pro obor názvů centra událostí a název instance centra událostí.
  • Použijte úplný obor názvů, jako je <yournamespace>.servicebus.windows.net, a objekt přihlašovacích údajů.

Volitelně můžete také předat:

  • Sada možností pro konfiguraci zásad opakování nebo nastavení proxy serveru.
  • Úložiště kontrolních bodů, které klient používá ke čtení kontrolních bodů k určení pozice, ze které má pokračovat v přijímání událostí, když se aplikace restartuje. Úložiště kontrolních bodů také používá klient k vyrovnávání zatížení několika instancí vaší aplikace.
EventHubProducerClient

Třída EventHubProducerClient slouží k odesílání událostí do centra událostí.

Existuje několik způsobů, jak vytvořit EventHubProducerClient

  • Použijte připojovací řetězec ze zásad SAS vytvořených pro vaši instanci centra událostí.
  • Použijte připojovací řetězec ze zásad SAS vytvořených pro obor názvů centra událostí a název instance centra událostí.
  • Použijte úplný obor názvů, jako je <yournamespace>.servicebus.windows.net, a objekt přihlašovacích údajů.

Volitelně můžete také předat tašku možností pro konfiguraci zásad opakování nebo nastavení proxy serveru.

MessagingError

Popisuje základní třídu chyby zasílání zpráv.

Rozhraní

BufferedCloseOptions

Možnosti konfigurace metody close na EventHubBufferedProducerClient.

BufferedFlushOptions

Možnosti konfigurace metody flush na EventHubBufferedProducerClient.

Checkpoint

Kontrolní bod představuje poslední úspěšně zpracovávanou událost uživatelem z konkrétního oddílu skupiny příjemců v instanci centra událostí.

Když uživatel volá metodu updateCheckpoint() třídy PartitionProcessor, vytvoří se Checkpoint interně. Pak se uloží do řešení úložiště implementovaného CheckpointManager zvoleným uživatelem při vytváření EventProcessor.

Uživatelé se nikdy neočekávají, že budou pracovat s Checkpoint přímo. Toto rozhraní existuje pro podporu interních fungování EventProcessor a CheckpointManager.

CheckpointStore

Úložiště kontrolních bodů ukládá a načítá informace o vlastnictví oddílu a podrobnosti kontrolního bodu pro každý oddíl v dané skupině příjemců instance centra událostí.

Uživatelé nemají implementovat CheckpointStore. Očekává se, že uživatelé vyberou existující implementace tohoto rozhraní, vytvoří instanci a předají ho konstruktoru třídy EventHubConsumerClient při vytváření instance klienta. U úložiště kontrolních bodů se očekává, že uživatelé nebudou používat žádné metody, které klient používá interně.

Implementace CheckpointStore najdete na npm vyhledáním balíčků s předponou @azure/eventhub-checkpointstore-.

CreateBatchOptions

Možnosti konfigurace metody createBatch na EventHubProducerClient.

  • partitionKey: Hodnota hash, která vytvoří přiřazení oddílu.
  • maxSizeInBytes: Horní limit velikosti dávky.
  • abortSignal: Signál žádosti o zrušení operace odeslání.

Příklad použití:

{
    partitionKey: 'foo',
    maxSizeInBytes: 1024 * 1024 // 1 MB
}
EnqueueEventOptions

Možnosti konfigurace metody enqueueEvents na EventHubBufferedProducerClient.

EventData

Rozhraní, které popisuje data, která se mají odesílat do centra událostí. Toto použijte jako odkaz při vytváření objektu, který se má odeslat při použití EventHubProducerClient. Například { body: "your-data" } nebo

{
   body: "your-data",
   properties: {
      propertyName: "property value"
   }
}
EventDataAdapterParameters

Parametry createEventDataAdapter funkce, která vytvoří datový adaptér události.

EventDataBatch

Rozhraní představující dávku událostí, které lze použít k odesílání událostí do centra událostí.

K vytvoření dávky použijte metodu createBatch() na EventHubProducerClient. K odeslání dávky použijte metodu sendBatch() na stejném klientovi. K vyplnění dávky použijte metodu tryAdd() v samotné dávce.

EventHubBufferedProducerClientOptions

Popisuje možnosti, které lze poskytnout při vytváření EventHubBufferedProducerClient.

EventHubClientOptions

Popisuje možnosti, které lze poskytnout při vytváření EventHubClient.

  • userAgent: Řetězec, který se připojí k předdefinovanému řetězci agenta uživatele, který se předává jako vlastnost připojení ke službě.
  • webSocketOptions: Možnosti konfigurace kanálu připojení AMQP přes webové sokety.
    • websocket: Konstruktor WebSocket použitý k vytvoření připojení AMQP, pokud se rozhodnete vytvořit připojení přes WebSocket.
    • webSocketConstructorOptions: Možnosti předání konstruktoru Websocket, když se rozhodnete vytvořit připojení přes WebSocket.
  • retryOptions: Možnosti opakování pro všechny operace na straně klienta, producenta nebo příjemce.
    • maxRetries: Počet opakování operace v případě chyby, která se dá opakovat.
    • maxRetryDelayInMs: Maximální zpoždění mezi opakovanými pokusy. Platí pouze při provádění exponenciálních opakování.
    • mode: Který režim opakování se má použít, určený výčtem RetryMode. Možnosti jsou Exponential a Fixed. Výchozí hodnota je Fixed.
    • retryDelayInMs: Doba čekání v milisekundách před provedením dalšího pokusu. Pokud je mode nastavená na Exponential, slouží k výpočtu exponenciálně rostoucích zpoždění mezi opakováními. Výchozí hodnota: 30000 milisekund.
    • timeoutInMs: Doba čekání v milisekundách, než vyprší časový limit operace. Tím se aktivuje opakování, pokud zbyly nějaké pokusy o opakování. Výchozí hodnota: 60000 milisekund.

Jednoduché použití může být { "maxRetries": 4 }.

Příklad použití:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

Sada vlastností, které tvoří připojovací řetězec centra událostí.

EventHubConsumerClientOptions

Popisuje možnosti, které lze poskytnout při vytváření EventHubConsumerClient.

  • loadBalancingOptions: Možnosti ladění oddílů deklarací identity EventHubConsumerClient
  • userAgent: Řetězec, který se připojí k předdefinovanému řetězci agenta uživatele, který se předává jako vlastnost připojení ke službě.
  • webSocketOptions: Možnosti konfigurace kanálu připojení AMQP přes webové sokety.
    • websocket: Konstruktor WebSocket použitý k vytvoření připojení AMQP, pokud se rozhodnete vytvořit připojení přes WebSocket.
    • webSocketConstructorOptions: Možnosti předání konstruktoru Websocket, když se rozhodnete vytvořit připojení přes WebSocket.
  • retryOptions: Možnosti opakování pro všechny operace na straně klienta, producenta nebo příjemce.
    • maxRetries: Počet opakování operace v případě chyby, která se dá opakovat.
    • maxRetryDelayInMs: Maximální zpoždění mezi opakovanými pokusy. Platí pouze při provádění exponenciálních opakování.
    • mode: Který režim opakování se má použít, určený výčtem RetryMode. Možnosti jsou Exponential a Fixed. Výchozí hodnota je Fixed.
    • retryDelayInMs: Doba čekání v milisekundách před provedením dalšího pokusu. Pokud je mode nastavená na Exponential, slouží k výpočtu exponenciálně rostoucích zpoždění mezi opakováními. Výchozí hodnota: 30000 milisekund.
    • timeoutInMs: Doba čekání v milisekundách, než vyprší časový limit operace. Tím se aktivuje opakování, pokud zbyly nějaké pokusy o opakování. Výchozí hodnota: 60000 milisekund.

Jednoduché použití může být { "maxRetries": 4 }.

Příklad použití:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

Popisuje informace o modulu runtime centra událostí.

EventPosition

Představuje pozici události v oddílu centra událostí, která se obvykle používá při volání metody subscribe() na EventHubConsumerClient k určení pozice v oddílu pro zahájení příjmu událostí.

Pokud chcete získat EventPosition představující začátek nebo konec datového proudu, použijte konstanty earliestEventPosition a latestEventPosition.

GetEventHubPropertiesOptions

Sada možností konfigurace chování getEventHubProperties.

  • abortSignal: Implementace rozhraní AbortSignalLike, která signalizovala požadavek na zrušení operace.
  • parentSpan: Span nebo SpanContext použít jako parent rozsahu vytvořeného při volání této operace.
GetPartitionIdsOptions

Sada možností konfigurace chování getPartitionIds.

  • abortSignal: Implementace rozhraní AbortSignalLike, která signalizovala požadavek na zrušení operace.
  • parentSpan: Span nebo SpanContext použít jako parent rozsahu vytvořeného při volání této operace.
GetPartitionPropertiesOptions

Sada možností konfigurace chování getPartitionProperties.

  • abortSignal: Implementace rozhraní AbortSignalLike, která signalizovala požadavek na zrušení operace.
  • parentSpan: Span nebo SpanContext použít jako parent rozsahu vytvořeného při volání této operace.
LastEnqueuedEventProperties

Sada informací o poslední vyčtené události oddílu, která je zjištěna příjemcem při přijetí událostí ze služby Event Hubs

LoadBalancingOptions

Sada možností pro konfiguraci nastavení vyrovnávání zatížení.

OnSendEventsErrorContext

Obsahuje události, které nebyly úspěšně odeslány do centra událostí, oddíl, ke kterému byly přiřazeny, a chybu, ke které došlo při odesílání.

OnSendEventsSuccessContext

Obsahuje události, které byly úspěšně odeslány do centra událostí, a oddíl, ke kterému byly přiřazeny.

OperationOptions

Možnosti konfigurace trasování a abortSignal

PartitionContext

Rozhraní, které popisuje kontext předaný každému z funkcí, které jsou součástí SubscriptionEventHandlers. Při implementaci některé z těchto funkcí můžete pomocí objektu kontextu získat informace o oddílu a také možnost kontrolního bodu.

PartitionOwnership

Rozhraní představující podrobnosti o tom, která instance EventProcessor vlastní zpracování daného oddílu ze skupiny příjemců instance centra událostí.

Poznámka: Tuto funkci interně používá EventProcessor a uživatel ho nikdy nebude muset vytvořit přímo.

PartitionProperties

Popisuje informace o modulu runtime oddílu EventHubu.

ReceivedEventData

Rozhraní, které popisuje strukturu události přijaté z centra událostí. Tuto funkci použijte jako referenci při vytváření funkce processEvents ke zpracování událostí přijatých z centra událostí při použití EventHubConsumerClient.

RetryOptions

Možnosti zásad opakování, které určují režim, počet opakování, interval opakování atd.

SendBatchOptions

Možnosti konfigurace metody sendBatch na EventHubProducerClient při odesílání pole událostí Pokud je partitionId nastavená, partitionKey nesmí být nastavená a naopak.

  • partitionId: Oddíl, do který se tato dávka odešle.
  • partitionKey: Hodnota hash, která vytvoří přiřazení oddílu.
  • abortSignal: Signál použitý ke zrušení operace odeslání.
SubscribeOptions

Možnosti konfigurace metody subscribe na EventHubConsumerClient. Například { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

Rozhraní, které popisuje objekt vrácený metodou subscribe() v EventHubConsumerClient.

SubscriptionEventHandlers

Rozhraní, které popisuje funkce, které mají být implementovány uživatelem, které jsou vyvolány EventHubConsumerClient, když je volána metoda subscribe() přijímat události z centra událostí.

TokenCredential

Představuje přihlašovací údaje schopné poskytnout ověřovací token.

TryAddOptions

Možnosti konfigurace chování metody tryAdd ve třídě EventDataBatch

WebSocketImpl

Popisuje požadovaný tvar konstruktorů WebSocket.

WebSocketOptions

Možnosti konfigurace kanálu připojení AMQP přes webové sokety

Aliasy typu

ProcessCloseHandler

Podpis funkce poskytnuté uživatelem vyvolaný EventHubConsumerClient hned po zastavení přijímat události z oddílu.

ProcessErrorHandler

Podpis funkce poskytnuté uživatelem vyvolaný EventHubConsumerClient pro chyby, ke kterým dochází při příjmu událostí nebo při provádění některé z funkcí poskytovaných uživatelem předávaných metodě subscribe().

ProcessEventsHandler

Podpis funkce poskytnuté uživatelem vyvolaný EventHubConsumerClient při přijetí sady událostí.

ProcessInitializeHandler

Podpis funkce poskytnuté uživatelem vyvolaný EventHubConsumerClient těsně před zahájením přijímání událostí z oddílu.

Výčty

CloseReason

Výčet představující různé důvody, proč EventHubConsumerClient zastavit zpracování událostí z oddílu ve skupině příjemců centra událostí.

RetryMode

Popisuje typ režimu opakování.

Funkce

createEventDataAdapter(EventDataAdapterParameters)

Funkce, která vytváří datový adaptér událostí. Tento adaptér lze použít s @azure/schema-registry-avro k kódování a dekódování těla v datech událostí.

parseEventHubConnectionString(string)

Parsuje zadaný připojovací řetězec do různých vlastností použitelných pro Azure Event Hubs. Vlastnosti jsou užitečné k vytvoření EventHubProducerClient nebo EventHubConsumerClient.

Podrobnosti funkce

createEventDataAdapter(EventDataAdapterParameters)

Funkce, která vytváří datový adaptér událostí. Tento adaptér lze použít s @azure/schema-registry-avro k kódování a dekódování těla v datech událostí.

function createEventDataAdapter(params?: EventDataAdapterParameters): MessageAdapter<EventData>

Parametry

params
EventDataAdapterParameters

parametry pro vytvoření dat události

Návraty

MessageAdapter<EventData>

Datový adaptér události, který může vytvářet a využívat data událostí

parseEventHubConnectionString(string)

Parsuje zadaný připojovací řetězec do různých vlastností použitelných pro Azure Event Hubs. Vlastnosti jsou užitečné k vytvoření EventHubProducerClient nebo EventHubConsumerClient.

function parseEventHubConnectionString(connectionString: string): Readonly<EventHubConnectionStringProperties>

Parametry

connectionString

string

Připojovací řetězec přidružený k zásadám sdíleného přístupu vytvořeným pro obor názvů služby Event Hubs.

Návraty