@azure/event-hubs package

Sınıflar

EventHubBufferedProducerClient

EventHubBufferedProducerClient, olayları belirli bir Olay Hub'ına yayımlamak için kullanılır.

EventHubBufferedProducerClient olayları hemen yayımlamaz. Bunun yerine olaylar arabelleğe alınıp toplu iş dolduğunda veya maxWaitTimeInMs yeni olay alınmadığında verimli bir şekilde toplu işlenip yayımlanabilir.

Olaylar sıralandığında belirtilen seçeneklere bağlı olarak, bunlar otomatik olarak bir bölüme atanabilir, belirtilen bölüm anahtarına göre gruplandırılabilir veya özel olarak istenen bir bölüme atanabilir.

Bu model, olayların ne zaman yayımlanacağı konusunda belirleyici olmayan zamanlama karşılığında çağıranlardan toplu iş yönetimi yükünü kaydırmaya yöneliktir. Dikkate alınması gereken ek dengeler de vardır:

  • Uygulama kilitlenirse arabellekteki olaylar yayımlanmaz. Veri kaybını önlemek için, çağıranların onSendEventsSuccessHandler ve onSendEventsErrorHandler işleyicilerini kullanarak yayımlama ilerleme durumunu izlemeleri teşvik edilir.
  • Bölüm anahtarı belirten olaylara, diğer üreticilerle aynı anahtarı kullananlardan farklı bir bölüm atanabilir.
  • Bir bölümün geçici olarak kullanılamaz duruma gelmesi durumunda, EventHubBufferedProducerClient kurtarılması diğer üreticilere göre daha uzun sürebilir.

Olayların belirlenimci bir sonuçla hemen yayımlanmasının önemli olduğu senaryolarda, bölüm anahtarlarının diğer yayımcılarla tutarlı bir bölüme atandığından veya kullanılabilirliği en üst düzeye çıkarmanın gerekli olduğu durumlarda, EventHubProducerClient kullanılması önerilir.

EventHubConsumerClient

EventHubConsumerClient sınıfı bir Olay Hub'ından olayları kullanmak için kullanılır.

EventHubConsumerClient oluşturmanın birden çok yolu vardır

  • Olay Hub'ı örneğiniz için oluşturulan SAS ilkesinden bağlantı dizesini kullanın.
  • Olay Hub'ı ad alanınız için oluşturulan SAS ilkesinden bağlantı dizesini ve Olay Hub'ı örneğinin adını kullanın
  • <yournamespace>.servicebus.windows.netgibi tam ad alanını ve kimlik bilgileri nesnesini kullanın.

İsteğe bağlı olarak şunları da geçirebilirsiniz:

  • Yeniden deneme ilkesini veya ara sunucu ayarlarını yapılandırmak için bir seçenek paketi.
  • uygulamanız yeniden başlatıldığında olayları almaya devam etmesi gereken konumu belirlemek üzere denetim noktalarını okumak için istemci tarafından kullanılan bir denetim noktası deposu. Denetim noktası deposu, istemci tarafından uygulamanızın birden çok örneğinin yükünü dengelemek için de kullanılır.
EventHubProducerClient

EventHubProducerClient sınıfı bir Olay Hub'ına olay göndermek için kullanılır.

EventHubProducerClient oluşturmanın birden çok yolu vardır

  • Olay Hub'ı örneğiniz için oluşturulan SAS ilkesinden bağlantı dizesini kullanın.
  • Olay Hub'ı ad alanınız için oluşturulan SAS ilkesinden bağlantı dizesini ve Olay Hub'ı örneğinin adını kullanın
  • <yournamespace>.servicebus.windows.netgibi tam ad alanını ve kimlik bilgileri nesnesini kullanın.

İsteğe bağlı olarak, yeniden deneme ilkesini veya ara sunucu ayarlarını yapılandırmak için bir seçenek paketi de geçirebilirsiniz.

MessagingError

Mesajlaşma Hatası için temel sınıfı açıklar.

Arabirimler

BufferedCloseOptions

close EventHubBufferedProducerClient yöntemini yapılandırma seçenekleri.

BufferedFlushOptions

flush EventHubBufferedProducerClient yöntemini yapılandırma seçenekleri.

Checkpoint

Denetim noktası, kullanıcı tarafından olay hub'ı örneğindeki bir tüketici grubunun belirli bir bölümünden başarıyla işlenen son olayı temsil etmek için kullanılır.

updateCheckpoint() sınıfındaki PartitionProcessor yöntemi kullanıcı tarafından çağrıldığında, dahili olarak bir Checkpoint oluşturulur. Daha sonra CheckpointManageroluştururken kullanıcı tarafından seçilen EventProcessor tarafından uygulanan depolama çözümünde depolanır.

Kullanıcıların Checkpoint doğrudan etkileşim kurması asla beklenmez. Bu arabirim, EventProcessor ve CheckpointManageriç çalışmalarını desteklemek için mevcuttur.

CheckpointStore

Denetim noktası deposu, bir olay hub'ı örneğinin belirli bir tüketici grubundaki her bölüm için bölüm sahipliği bilgilerini ve denetim noktası ayrıntılarını depolar ve alır.

Kullanıcıların CheckpointStoreuygulaması amaçlanmamıştır. Kullanıcıların bu arabirimin mevcut uygulamalarını seçmesi, örneği oluşturması ve istemci örneği oluştururken EventHubConsumerClient sınıf oluşturucusna geçirmesi beklenir. Kullanıcıların denetim noktası deposundaki yöntemlerden hiçbirini kullanmaları beklenmez, bunlar istemci tarafından dahili olarak kullanılır.

CheckpointStore uygulamaları npm'de @azure/eventhub-checkpointstore- ön ekini içeren paketler aranarak bulunabilir.

CreateBatchOptions

createBatch EventHubProducerClient yöntemini yapılandırma seçenekleri.

  • partitionKey: Bölüm ataması oluşturmak için karma değer.
  • maxSizeInBytes: Toplu iş boyutu için üst sınır.
  • abortSignal: gönderme işlemini iptal etmek için isteğin sinyalini alır.

Örnek kullanım:

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

enqueueEvents EventHubBufferedProducerClient yöntemini yapılandırma seçenekleri.

EventData

Event Hub'a gönderilecek verileri açıklayan arabirim. EventHubProducerClientkullanılırken gönderilecek nesneyi oluştururken bunu başvuru olarak kullanın. Örneğin, { body: "your-data" } veya

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

Olay veri bağdaştırıcısı oluşturan createEventDataAdapter işlevine yönelik parametreler.

EventDataBatch

Olay Hub'ına olay göndermek için kullanılabilecek bir dizi olayı temsil eden arabirim.

Toplu işlemi oluşturmak için createBatch()EventHubProducerClient yöntemini kullanın. Toplu işlemi göndermek için aynı istemcide sendBatch() yöntemini kullanın. Toplu işlemi doldurmak için, toplu iş üzerinde tryAdd() yöntemini kullanın.

EventHubBufferedProducerClientOptions

EventHubBufferedProducerClientoluşturulurken sağlanacak seçenekleri açıklar.

EventHubClientOptions

EventHubClient oluşturulurken sağlanacak seçenekleri açıklar.

  • userAgent: Hizmete bağlantı özelliği olarak geçirilen yerleşik kullanıcı aracısı dizesine eklenecek dize.
  • webSocketOptions: AMQP bağlantısının Web Yuvaları üzerinden kanalını yapılandırma seçenekleri.
    • websocket: WebSocket üzerinden bağlantı oluşturmayı seçerseniz AMQP bağlantısı oluşturmak için kullanılan WebSocket oluşturucu.
    • webSocketConstructorOptions: Bağlantıyı bir WebSocket üzerinden yapmayı seçtiğinizde Websocket oluşturucusna geçirme seçenekleri.
  • retryOptions: İstemci/üretici/tüketici üzerindeki tüm işlemler için yeniden deneme seçenekleri.
    • maxRetries: Yeniden denenebilir bir hata durumunda işlemin yeniden denenme sayısı.
    • maxRetryDelayInMs: Yeniden denemeler arasındaki en uzun gecikme. Yalnızca üstel yeniden denemeler gerçekleştirilirken geçerlidir.
    • mode: Uygulanacak yeniden deneme modu, RetryMode sabit listesi tarafından belirtilir. Seçenekler Exponential ve Fixed. varsayılan olarak Fixed.
    • retryDelayInMs: Bir sonraki denemeyi yapmadan önce milisaniye cinsinden beklenen süre. mode Exponentialolarak ayarlandığında, bu, yeniden denemeler arasındaki üstel olarak artan gecikmeleri hesaplamak için kullanılır. Varsayılan: 30000 milisaniye.
    • timeoutInMs: İşlemin zaman aşımına uğraması için milisaniye cinsinden beklenme süresi. Bu, kalan yeniden deneme girişimleri varsa yeniden denemeyi tetikler. Varsayılan değer: 60000 milisaniye.

Basit bir kullanım { "maxRetries": 4 }olabilir.

Örnek kullanım:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

Olay Hub'ı bağlantı dizesini oluşturan özellikler kümesi.

EventHubConsumerClientOptions

EventHubConsumerClient oluşturulurken sağlanacak seçenekleri açıklar.

  • loadBalancingOptions: EventHubConsumerClient taleplerinin bölümleme şeklini ayarlama seçenekleri.
  • userAgent: Hizmete bağlantı özelliği olarak geçirilen yerleşik kullanıcı aracısı dizesine eklenecek dize.
  • webSocketOptions: AMQP bağlantısının Web Yuvaları üzerinden kanalını yapılandırma seçenekleri.
    • websocket: WebSocket üzerinden bağlantı oluşturmayı seçerseniz AMQP bağlantısı oluşturmak için kullanılan WebSocket oluşturucu.
    • webSocketConstructorOptions: Bağlantıyı bir WebSocket üzerinden yapmayı seçtiğinizde Websocket oluşturucusna geçirme seçenekleri.
  • retryOptions: İstemci/üretici/tüketici üzerindeki tüm işlemler için yeniden deneme seçenekleri.
    • maxRetries: Yeniden denenebilir bir hata durumunda işlemin yeniden denenme sayısı.
    • maxRetryDelayInMs: Yeniden denemeler arasındaki en uzun gecikme. Yalnızca üstel yeniden denemeler gerçekleştirilirken geçerlidir.
    • mode: Uygulanacak yeniden deneme modu, RetryMode sabit listesi tarafından belirtilir. Seçenekler Exponential ve Fixed. varsayılan olarak Fixed.
    • retryDelayInMs: Bir sonraki denemeyi yapmadan önce milisaniye cinsinden beklenen süre. mode Exponentialolarak ayarlandığında, bu, yeniden denemeler arasındaki üstel olarak artan gecikmeleri hesaplamak için kullanılır. Varsayılan: 30000 milisaniye.
    • timeoutInMs: İşlemin zaman aşımına uğraması için milisaniye cinsinden beklenme süresi. Bu, kalan yeniden deneme girişimleri varsa yeniden denemeyi tetikler. Varsayılan değer: 60000 milisaniye.

Basit bir kullanım { "maxRetries": 4 }olabilir.

Örnek kullanım:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

Bir Olay Hub'ının çalışma zamanı bilgilerini açıklar.

EventPosition

Olay Hub'ı bölümündeki bir olayın konumunu temsil eder; genellikle bir subscribe()EventHubConsumerClient yöntemini çağırarak bölümdeki olayları almaya başlayacak konumu belirtir.

Akışın başlangıcını veya sonunu temsil eden bir EventPosition almak için sırasıyla earliestEventPosition ve latestEventPosition sabitlerini kullanın.

GetEventHubPropertiesOptions

getEventHubPropertiesdavranışını yapılandırmak için seçenekler kümesi.

  • abortSignal: İşlemi iptal etme isteğine işaret eden AbortSignalLike arabiriminin uygulaması.
  • parentSpan: Bu işlem çağrılırken oluşturulan yayılma alanının Span olarak kullanılacak SpanContext veya parent.
GetPartitionIdsOptions

getPartitionIdsdavranışını yapılandırmak için seçenekler kümesi.

  • abortSignal: İşlemi iptal etme isteğine işaret eden AbortSignalLike arabiriminin uygulaması.
  • parentSpan: Bu işlem çağrılırken oluşturulan yayılma alanının Span olarak kullanılacak SpanContext veya parent.
GetPartitionPropertiesOptions

getPartitionPropertiesdavranışını yapılandırmak için seçenekler kümesi.

  • abortSignal: İşlemi iptal etme isteğine işaret eden AbortSignalLike arabiriminin uygulaması.
  • parentSpan: Bu işlem çağrılırken oluşturulan yayılma alanının Span olarak kullanılacak SpanContext veya parent.
LastEnqueuedEventProperties

Event Hubs hizmetinden olaylar alınırken tüketici tarafından gözlemlenen bir bölümün en son sıralanan olayı hakkında bilgi kümesi

LoadBalancingOptions

Yük dengeleme ayarlarını yapılandırmak için bir seçenek paketi.

OnSendEventsErrorContext

Olay Hub'ına başarıyla gönderilmeyen olayları, atandıkları bölümü ve gönderirken karşılaşılan hatayı içerir.

OnSendEventsSuccessContext

Olay Hub'ına başarıyla gönderilen olayları ve atandıkları bölümü içerir.

OperationOptions

İzlemeyi ve abortSignal'ı yapılandırma seçenekleri.

PartitionContext

SubscriptionEventHandlersparçası olan işlevlerin her birine geçirilen bağlamı açıklayan arabirim. Bu işlevlerden herhangi birini uygularken, bölüm ve denetim noktası özelliği hakkında bilgi almak için bağlam nesnesini kullanın.

PartitionOwnership

Event Hub örneğinin bir tüketici grubundan belirli bir bölümün işlenmesine sahip olan EventProcessor örneğinin ayrıntılarını gösteren arabirim.

Not: Bu, EventProcessor tarafından dahili olarak kullanılır ve kullanıcının hiçbir zaman doğrudan oluşturması gerekmemektedir.

PartitionProperties

EventHub Bölümünün çalışma zamanı bilgilerini açıklar.

ReceivedEventData

Olay Hub'ından alınan olayın yapısını açıklayan arabirim. processEventskullanırken bir Olay Hub'ından alınan olayları işlemek için EventHubConsumerClient işlevini oluştururken bunu başvuru olarak kullanın.

RetryOptions

Modu, yeniden deneme sayısını, yeniden deneme aralığını vb. belirleyen yeniden deneme ilkesi seçenekleri.

SendBatchOptions

Bir olay dizisi gönderirken sendBatchEventHubProducerClient yöntemini yapılandırma seçenekleri. partitionId ayarlandıysa, partitionKey ayarlanmamalıdır ve tam tersi de geçerlidir.

  • partitionId: Bu toplu işlemin gönderileceği bölüm.
  • partitionKey: Bölüm ataması oluşturmak için karma değer.
  • abortSignal: Gönderme işlemini iptal etmek için kullanılan bir sinyal.
SubscribeOptions

subscribe EventHubConsumerClient yöntemini yapılandırma seçenekleri. Örneğin, { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

subscribe() EventHubConsumerClient yöntemi tarafından döndürülen nesneyi açıklayan arabirim.

SubscriptionEventHandlers

Olay Hub'ından olay almak için EventHubConsumerClient yöntemi çağrıldığında subscribe() tarafından çağrılan kullanıcı tarafından uygulanacak işlevleri açıklayan arabirim.

TokenCredential

Kimlik doğrulama belirteci sağlayabilen bir kimlik bilgilerini temsil eder.

TryAddOptions

tryAdd sınıfında EventDataBatch yönteminin davranışını yapılandırma seçenekleri.

WebSocketImpl

WebSocket oluşturucularının gerekli şeklini açıklar.

WebSocketOptions

AMQP bağlantısının Web Yuvaları üzerinden kanalını yapılandırma seçenekleri.

Tür Diğer Adları

ProcessCloseHandler

Bir bölümden olay almak için durduktan hemen sonra EventHubConsumerClient tarafından çağrılan kullanıcı tarafından sağlanan işlevin imzası.

ProcessErrorHandler

Olayları alırken veya kullanıcı tarafından sağlanan işlevlerden herhangi biri EventHubConsumerClient yöntemine geçirilirken oluşan hatalar için subscribe() tarafından çağrılan kullanıcı tarafından sağlanan işlevin imzası.

ProcessEventsHandler

Bir dizi olay alındığında EventHubConsumerClient tarafından çağrılan kullanıcı tarafından sağlanan işlevin imzası.

ProcessInitializeHandler

Bir bölümden olay almaya başlamadan hemen önce EventHubConsumerClient tarafından çağrılan kullanıcı tarafından sağlanan işlevin imzası.

Numaralandırmalar

CloseReason

Bir EventHubConsumerClient olay hub'ının tüketici grubundaki bir bölümden olayları işlemeyi durdurmasının farklı nedenlerini temsil eden bir sabit listesi.

RetryMode

Yeniden Deneme Modu türünü açıklar

İşlevler

createEventDataAdapter(EventDataAdapterParameters)

Olay veri bağdaştırıcısı oluşturan bir işlev. Bu bağdaştırıcı, olay verilerinde gövdeyi kodlamak ve kodunu çözmek için @azure/schema-registry-avro ile kullanılabilir.

parseEventHubConnectionString(string)

Verilen bağlantı dizesini Azure Event Hubs için geçerli olan farklı özelliklere ayrıştırıyor. Özellikler daha sonra bir EventHubProducerClient veya EventHubConsumerClient oluşturmak için yararlıdır.

Değişkenler

earliestEventPosition

Bölümde bulunan ilk olayın konumuna karşılık gelen noktayı EventPosition alır. Bu pozisyonu, EventHubConsumerClient.subscribe() saklama politikası nedeniyle süresi dolmayan bölümdeki ilk olaydan olan olayları almaya başlama yöntemine aktarın.

latestEventPosition

Bölümün sonuna karşılık gelen noktayı alır EventPosition . Bu konumu, EventHubConsumerClient.subscribe() metot çağrısından hemen sonra sıraya alınan olaydan olayları almaya başlamak için metoda aktarın.

logger

@azure/logger Bu paketin yapılandırması. Bu, namespace preeki kullanılarak azure:event-hubs loglar çıkarır.

İşlev Ayrıntıları

createEventDataAdapter(EventDataAdapterParameters)

Olay veri bağdaştırıcısı oluşturan bir işlev. Bu bağdaştırıcı, olay verilerinde gövdeyi kodlamak ve kodunu çözmek için @azure/schema-registry-avro ile kullanılabilir.

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

Parametreler

params
EventDataAdapterParameters

olay verilerini oluşturmak için parametreler

Döndürülenler

MessageAdapter<EventData>

Olay verilerini oluşturabilen ve tüketebilen bir olay veri bağdaştırıcısı

parseEventHubConnectionString(string)

Verilen bağlantı dizesini Azure Event Hubs için geçerli olan farklı özelliklere ayrıştırıyor. Özellikler daha sonra bir EventHubProducerClient veya EventHubConsumerClient oluşturmak için yararlıdır.

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

Parametreler

connectionString

string

Event Hubs ad alanı için oluşturulan Paylaşılan Erişim İlkesi ile ilişkili bağlantı dizesi.

Döndürülenler

Variable Details

earliestEventPosition

Bölümde bulunan ilk olayın konumuna karşılık gelen noktayı EventPosition alır. Bu pozisyonu, EventHubConsumerClient.subscribe() saklama politikası nedeniyle süresi dolmayan bölümdeki ilk olaydan olan olayları almaya başlama yöntemine aktarın.

earliestEventPosition: EventPosition

Tür

latestEventPosition

Bölümün sonuna karşılık gelen noktayı alır EventPosition . Bu konumu, EventHubConsumerClient.subscribe() metot çağrısından hemen sonra sıraya alınan olaydan olayları almaya başlamak için metoda aktarın.

latestEventPosition: EventPosition

Tür

logger

@azure/logger Bu paketin yapılandırması. Bu, namespace preeki kullanılarak azure:event-hubs loglar çıkarır.

logger: AzureLogger

Tür