@azure/event-hubs package

類別

EventHubBufferedProducerClient

EventHubBufferedProducerClient可用來將事件發佈至特定事件中樞。

EventHubBufferedProducerClient 不會立即發佈事件。 相反地,事件會經過緩衝處理,以便在批次已滿或 maxWaitTimeInMs 未加入佇列時有效率地批處理和發佈事件。

視加入佇列事件時指定的選項而定,它們可能會自動指派給分割區、根據指定的分割區索引鍵分組,或指派特定要求的數據分割。

此模型旨在將批次管理的負擔從呼叫端轉移,代價是發佈事件的時間不具決定性時間。 另外還有一些可考慮的取捨:

  • 如果應用程式當機,緩衝區中的事件將不會發佈。 為了防止數據遺失,建議呼叫端使用 onSendEventsSuccessHandler 和 onSendEventsErrorHandler 處理程式來追蹤發佈進度。
  • 指定分割區索引鍵的事件可能會指派與其他產生者使用相同的索引鍵的分割區。
  • 在分割區暫時無法使用的不太可能情況下,EventHubBufferedProducerClient 可能需要更長的時間才能復原,而不是其他產生者。

在立即發佈具有確定性結果的事件時,請務必確定已將分割區索引鍵指派給與其他發行者一致的分割區,或者建議使用 EventHubProducerClient 來最大化可用性。

EventHubConsumerClient

EventHubConsumerClient 類別可用來取用事件中樞的事件。

有多種方式可以建立 EventHubConsumerClient

  • 使用針對事件中樞實例建立的 SAS 原則中的連接字串。
  • 使用針對事件中樞命名空間所建立 SAS 原則的連接字串,以及事件中樞實例的名稱
  • 使用完整的命名空間,例如 <yournamespace>.servicebus.windows.net和認證物件。

或者,您也可以傳遞:

  • 設定重試原則或 Proxy 設定的選項包。
  • 用戶端用來讀取檢查點的檢查點存放區,以判斷應用程式重新啟動時應該繼續接收事件的位置。 用戶端也會使用檢查點存放區來平衡應用程式的多個實例。
EventHubProducerClient

EventHubProducerClient 類別可用來將事件傳送至事件中樞。

有多種方式可以建立 EventHubProducerClient

  • 使用針對事件中樞實例建立的 SAS 原則中的連接字串。
  • 使用針對事件中樞命名空間所建立 SAS 原則的連接字串,以及事件中樞實例的名稱
  • 使用完整的命名空間,例如 <yournamespace>.servicebus.windows.net和認證物件。

或者,您也可以傳遞選項包來設定重試原則或 Proxy 設定。

MessagingError

描述傳訊錯誤的基類。

介面

BufferedCloseOptions

在 close上設定 EventHubBufferedProducerClient 方法的選項。

BufferedFlushOptions

在 flush上設定 EventHubBufferedProducerClient 方法的選項。

Checkpoint

檢查點表示使用者從事件中樞實例中取用者群組的特定分割區,最後一次成功處理的事件。

當使用者呼叫 updateCheckpoint() 類別上的 PartitionProcessor 方法時,會在內部建立 Checkpoint。 然後,它會儲存在建立 CheckpointManager時,由用戶選擇 EventProcessor 所實作的記憶體解決方案中。

用戶永遠不會預期直接與 Checkpoint 互動。 此介面的存在可支援 EventProcessor 和 CheckpointManager的內部工作。

CheckpointStore

檢查點存放區會儲存並擷取事件中樞實例指定取用者群組中每個分割區的分割區擁有權資訊和檢查點詳細數據。

使用者不打算實作 CheckpointStore。 用戶預期會在具現化用戶端時,選擇此介面的現有實作、具現化,並將它傳遞給 EventHubConsumerClient 類別建構函式。 使用者不預期會在檢查點存放區上使用任何方法,用戶端會在內部使用這些方法。

您可以在 npm 上搜尋具有前置詞@azure/eventhub-checkpointstore-的套件,以找到 CheckpointStore 實作。

CreateBatchOptions

在 createBatch上設定 EventHubProducerClient 方法的選項。

  • partitionKey:哈希以產生分割區指派的值。
  • maxSizeInBytes:批次大小的上限。
  • abortSignal:發出要求以取消傳送作業的訊號。

範例用法:

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

在 enqueueEvents上設定 EventHubBufferedProducerClient 方法的選項。

EventData

介面,描述要傳送至事件中樞的數據。 當使用 EventHubProducerClient時,建立要傳送的物件時,請使用這個 做為參考。 例如,{ body: "your-data" } 或

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

建立事件數據配接器之 createEventDataAdapter 函式的參數。

EventDataBatch

介面,表示可用來將事件傳送至事件中樞的事件批次。

若要建立批次,請在 createBatch()上使用 EventHubProducerClient 方法。 若要傳送批次,請在相同的用戶端上使用 sendBatch() 方法。 若要填滿批次,請使用批次本身的 tryAdd() 方法。

EventHubBufferedProducerClientOptions

描述可在建立 EventHubBufferedProducerClient時提供的選項。

EventHubClientOptions

描述可在建立 EventHubClient 時提供的選項。

  • userAgent:要附加至內建使用者代理程式字串的字串,該字串會當做連線屬性傳遞至服務。
  • webSocketOptions:透過 Web 套接字設定 AMQP 連線通道的選項。
    • websocket:如果您選擇透過 WebSocket 建立連線,則用來建立 AMQP 連線的 WebSocket 建構函式。
    • webSocketConstructorOptions:當您選擇透過 WebSocket 建立連線時,要傳遞至 Websocket 建構函式的選項。
  • retryOptions:客戶端/產生者/取用者上所有作業的重試選項。
    • maxRetries:如果發生可重試的錯誤,可以重試作業的次數。
    • maxRetryDelayInMs:重試之間的最大延遲。 僅適用於執行指數重試時。
    • mode:要套用的重試模式,由 RetryMode 列舉指定。 選項為 Exponential 與 Fixed。 預設為 Fixed。
    • retryDelayInMs:進行下一次嘗試之前,以毫秒為單位等候的時間量。 當 mode 設定為 Exponential時,這會用來計算重試之間的指數增加延遲。 默認值:30000 毫秒。
    • timeoutInMs:作業逾時前等待的毫秒數。如果有剩餘的重試嘗試,這會觸發重試。 默認值:60000 毫秒。

簡單的用法可以 { "maxRetries": 4 }。

範例用法:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

組成事件中樞連接字串的屬性集。

EventHubConsumerClientOptions

描述可在建立 EventHubConsumerClient 時提供的選項。

  • loadBalancingOptions:微調 EventHubConsumerClient 如何宣告分割區的選項。
  • userAgent:要附加至內建使用者代理程式字串的字串,該字串會當做連線屬性傳遞至服務。
  • webSocketOptions:透過 Web 套接字設定 AMQP 連線通道的選項。
    • websocket:如果您選擇透過 WebSocket 建立連線,則用來建立 AMQP 連線的 WebSocket 建構函式。
    • webSocketConstructorOptions:當您選擇透過 WebSocket 建立連線時,要傳遞至 Websocket 建構函式的選項。
  • retryOptions:客戶端/產生者/取用者上所有作業的重試選項。
    • maxRetries:如果發生可重試的錯誤,可以重試作業的次數。
    • maxRetryDelayInMs:重試之間的最大延遲。 僅適用於執行指數重試時。
    • mode:要套用的重試模式,由 RetryMode 列舉指定。 選項為 Exponential 與 Fixed。 預設為 Fixed。
    • retryDelayInMs:進行下一次嘗試之前,以毫秒為單位等候的時間量。 當 mode 設定為 Exponential時,這會用來計算重試之間的指數增加延遲。 默認值:30000 毫秒。
    • timeoutInMs:作業逾時前等待的毫秒數。如果有剩餘的重試嘗試,這會觸發重試。 默認值:60000 毫秒。

簡單的用法可以 { "maxRetries": 4 }。

範例用法:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

描述事件中樞的運行時間資訊。

EventPosition

表示事件中樞分割區中事件的位置,通常用於在 subscribe() 上呼叫 EventHubConsumerClient 方法,以指定分割區中要開始接收事件的位置。

若要取得代表數據流開頭或結尾的 EventPosition,請分別使用常數 earliestEventPosition 和 latestEventPosition。

GetEventHubPropertiesOptions

設定 getEventHubProperties行為的選項集。

  • abortSignal:AbortSignalLike 介面的實作,以發出取消作業的要求。
  • parentSpan:呼叫這項作業時,要當做建立之範圍 Span 使用的 SpanContext 或 parent。
GetPartitionIdsOptions

設定 getPartitionIds行為的選項集。

  • abortSignal:AbortSignalLike 介面的實作,以發出取消作業的要求。
  • parentSpan:呼叫這項作業時,要當做建立之範圍 Span 使用的 SpanContext 或 parent。
GetPartitionPropertiesOptions

設定 getPartitionProperties行為的選項集。

  • abortSignal:AbortSignalLike 介面的實作,以發出取消作業的要求。
  • parentSpan:呼叫這項作業時,要當做建立之範圍 Span 使用的 SpanContext 或 parent。
LastEnqueuedEventProperties

從事件中樞服務接收事件時,取用者觀察到的數據分割最後一個加入佇列事件的相關信息集

LoadBalancingOptions

設定負載平衡設定的選項包。

OnSendEventsErrorContext

包含未成功傳送至事件中樞的事件、指派給的分割區,以及傳送時遇到的錯誤。

OnSendEventsSuccessContext

包含成功傳送至事件中樞的事件,以及指派的事件分割區。

OperationOptions

設定追蹤和中止的選項。

PartitionContext

介面,描述傳遞至屬於 SubscriptionEventHandlers之每個函式的內容。 實作上述任何函式時,請使用內容物件來取得數據分割的相關信息,以及檢查點的能力。

PartitionOwnership

介面,表示 EventProcessor 擁有從事件中樞實例取用者群組處理指定分割區的詳細數據。

附注:這是由 EventProcessor 內部使用,用戶永遠不需要直接建立它。

PartitionProperties

描述 EventHub Partition 的運行時間資訊。

ReceivedEventData

介面,描述從事件中樞接收的事件結構。 當建立 processEvents 函式時,請使用這個作為參考,以在使用 EventHubConsumerClient時處理從事件中樞接收的事件。

RetryOptions

判斷模式、重試次數、重試間隔等的重試原則選項。

SendBatchOptions

傳送事件陣列時,在 sendBatch 上設定 EventHubProducerClient 方法的選項。 如果已設定 partitionId,則 partitionKey 不得設定,反之亦然。

  • partitionId:此批次將傳送至的分割區。
  • partitionKey:哈希以產生分割區指派的值。
  • abortSignal:用來取消傳送作業的訊號。
SubscribeOptions

在 subscribe上設定 EventHubConsumerClient 方法的選項。 例如,{ maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

介面,描述 subscribe()上 EventHubConsumerClient 方法所傳回的物件。

SubscriptionEventHandlers

介面,描述呼叫 EventHubConsumerClient 方法以接收事件中樞事件時,subscribe() 所叫用之使用者所要實作的函式。

TokenCredential

表示能夠提供驗證令牌的認證。

TryAddOptions

在 tryAdd 類別上設定 EventDataBatch 方法行為的選項。

WebSocketImpl

描述 WebSocket 建構函式的必要形狀。

WebSocketOptions

透過 Web 套接字設定 AMQP 連線通道的選項。

類型別名

ProcessCloseHandler

使用者提供的函式簽章,由 EventHubConsumerClient 停止接收數據分割的事件之後叫用。

ProcessErrorHandler

由 EventHubConsumerClient 所叫用之使用者提供的函式簽章,以取得接收事件時或執行任何傳遞至 subscribe() 方法之使用者提供的函式時所發生的錯誤。

ProcessEventsHandler

收到一組事件時,由 EventHubConsumerClient 所叫用之使用者提供的函式簽章。

ProcessInitializeHandler

使用者提供的函式簽章,由 EventHubConsumerClient 開始接收數據分割的事件之前叫用。

列舉

CloseReason

列舉,表示 EventHubConsumerClient 停止處理事件中樞取用者群組中分割區事件的不同原因。

RetryMode

描述重試模式類型

函式

createEventDataAdapter(EventDataAdapterParameters)

建構事件數據配接器的函式。 該配接器可以與 @azure/schema-registry-avro 搭配使用,以在事件數據中編碼和譯碼本文。

parseEventHubConnectionString(string)

將指定的連接字串剖析為適用於 Azure 事件中樞的不同屬性。 屬性可用來建構 EventHubProducerClient 或 EventHubConsumerClient。

變數

earliestEventPosition

得到 EventPosition 分割中第一個事件的位置。 將此位置傳給 EventHubConsumerClient.subscribe() 方法,開始接收因保留政策尚未過期的分割區中第一個事件的事件。

latestEventPosition

得到對應於分割末端的 。EventPosition 將此位置傳給 EventHubConsumerClient.subscribe() 方法,開始接收從呼叫後立即排隊的事件。

logger

這個套件的配置。@azure/logger 這會用命名 azure:event-hubs 空間前綴輸出日誌。

函式詳細資料

createEventDataAdapter(EventDataAdapterParameters)

建構事件數據配接器的函式。 該配接器可以與 @azure/schema-registry-avro 搭配使用,以在事件數據中編碼和譯碼本文。

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

參數

params
EventDataAdapterParameters

用來建立事件數據的參數

傳回

MessageAdapter<EventData>

可產生及取用事件數據的事件數據配接器

parseEventHubConnectionString(string)

將指定的連接字串剖析為適用於 Azure 事件中樞的不同屬性。 屬性可用來建構 EventHubProducerClient 或 EventHubConsumerClient。

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

參數

connectionString

string

與為事件中樞命名空間建立的共用存取原則相關聯的連接字串。

傳回

變數詳細資料

earliestEventPosition

得到 EventPosition 分割中第一個事件的位置。 將此位置傳給 EventHubConsumerClient.subscribe() 方法,開始接收因保留政策尚未過期的分割區中第一個事件的事件。

earliestEventPosition: EventPosition

類型

latestEventPosition

得到對應於分割末端的 。EventPosition 將此位置傳給 EventHubConsumerClient.subscribe() 方法,開始接收從呼叫後立即排隊的事件。

latestEventPosition: EventPosition

類型

logger

這個套件的配置。@azure/logger 這會用命名 azure:event-hubs 空間前綴輸出日誌。

logger: AzureLogger

類型