Share via


@azure/event-hubs package

クラス

EventHubBufferedProducerClient

は、特定の EventHubBufferedProducerClientイベント ハブにイベントを発行するために使用されます。

EventHubBufferedProducerClient イベントをすぐに発行しません。 代わりに、イベントはバッファー処理されるため、バッチがいっぱいになったときや maxWaitTimeInMs 、 が経過しても新しいイベントがエンキューされていないときに効率的にバッチ処理および発行できます。

イベントがエンキューされるときに指定されたオプションによっては、自動的にパーティションに割り当てられるか、指定されたパーティション キーに従ってグループ化されるか、または特定の要求されたパーティションが割り当てられる場合があります。

このモデルは、イベントが発行されるタイミングに関して、非決定論的なタイミングを犠牲にして、バッチ管理の負担を呼び出し元からシフトすることを目的としています。 考慮すべきその他のトレードオフもあります。

  • アプリケーションがクラッシュした場合、バッファー内のイベントは発行されません。 データ損失を防ぐために、呼び出し元は と onSendEventsErrorHandler ハンドラーを使用して発行の進行状況をonSendEventsSuccessHandler追跡することをお勧めします。
  • パーティション キーを指定するイベントには、他のプロデューサーと同じキーを使用するイベントとは異なるパーティションが割り当てられる場合があります。
  • 万一、パーティションが一時的に使用できなくなった場合、 は他の EventHubBufferedProducerClient プロデューサーよりも復旧に時間がかかる場合があります。

決定論的な結果でイベントをすぐに公開することが重要なシナリオでは、パーティション キーが他のパブリッシャーと一致するパーティションに割り当てられているか、可用性の最大化が要件である場合は、 を EventHubProducerClient 使用することをお勧めします。

EventHubConsumerClient

クラスは EventHubConsumerClient 、イベント ハブからのイベントを使用するために使用されます。

を作成する方法は複数あります。 EventHubConsumerClient

  • Event Hub インスタンス用に作成された SAS ポリシーの接続文字列を使用します。
  • Event Hub 名前空間用に作成された SAS ポリシーの接続文字列と、Event Hub インスタンスの名前を使用します
  • 、 などの <yournamespace>.servicebus.windows.net完全な名前空間と資格情報オブジェクトを使用します。

必要に応じて、次の値を渡すこともできます。

  • 再試行ポリシーまたはプロキシ設定を構成するためのオプション バッグ。
  • クライアントがチェックポイントを読み取り、アプリケーションの再起動時にイベントの受信を再開する位置を決定するために使用されるチェックポイント ストア。 チェックポイント ストアは、アプリケーションの複数のインスタンスの負荷分散にもクライアントによって使用されます。
EventHubProducerClient

クラスは EventHubProducerClient 、イベント ハブにイベントを送信するために使用されます。

を作成する方法は複数あります。 EventHubProducerClient

  • Event Hub インスタンス用に作成された SAS ポリシーの接続文字列を使用します。
  • Event Hub 名前空間用に作成された SAS ポリシーの接続文字列と、Event Hub インスタンスの名前を使用します
  • 、 などの <yournamespace>.servicebus.windows.net完全な名前空間と資格情報オブジェクトを使用します。

必要に応じて、オプション バッグを渡して再試行ポリシーまたはプロキシ設定を構成することもできます。

MessagingError

メッセージング エラーの基本クラスについて説明します。

インターフェイス

BufferedCloseOptions

で メソッドを close 構成するための EventHubBufferedProducerClientオプション。

BufferedFlushOptions

で メソッドを flush 構成するための EventHubBufferedProducerClientオプション。

Checkpoint

チェックポイントは、Event Hub インスタンス内のコンシューマー グループの特定のパーティションからユーザーが最後に正常に処理したイベントを表します。

クラスの updateCheckpoint() メソッド PartitionProcessor がユーザーによって呼び出されると、 Checkpoint が内部的に作成されます。 その後、 を作成するときにユーザーが選択した によって CheckpointManager 実装されたストレージ ソリューションに EventProcessor格納されます。

ユーザーが直接操作 Checkpoint することは想定されません。 このインターフェイスは、 と CheckpointManagerの内部動作をサポートするために存在しますEventProcessor

CheckpointStore

チェックポイント ストアは、イベント ハブ インスタンスの特定のコンシューマー グループ内の各パーティションのパーティション所有権情報とチェックポイントの詳細を格納および取得します。

ユーザーは を CheckpointStore実装するためのものではありません。 ユーザーは、このインターフェイスの既存の実装を選択し、インスタンス化し、クライアントを EventHubConsumerClient インスタンス化するときにクラス コンストラクターに渡す必要があります。 ユーザーはチェックポイント ストアでメソッドを使用することは想定されていません。これらはクライアントによって内部的に使用されます。

CheckpointStore 実装は、プレフィックス @azure/eventhub-checkpointstore-を持つパッケージを検索することで npm で見つけることができます。

CreateBatchOptions

で メソッドを createBatch 構成するための EventHubProducerClientオプション。

  • partitionKey : パーティション割り当てを生成するためにハッシュされる値。
  • maxSizeInBytes: バッチのサイズの上限。
  • abortSignal : 送信操作を取り消す要求を通知します。

使用例:

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

で メソッドを enqueueEvents 構成するための EventHubBufferedProducerClientオプション。

EventData

Event Hub に送信されるデータを記述するインターフェイス。 を使用するときに送信するオブジェクトを作成するときに、これを参照として使用します 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 指定された、適用する再試行モード。 オプションは ExponentialFixed です。 既定値は Fixed です。
    • retryDelayInMs: 次の試行を行う前に待機する時間 (ミリ秒単位)。 が にExponential設定されている場合mode、これは再試行の間に指数関数的に増加する遅延を計算するために使用されます。 既定値: 30000 ミリ秒。
    • timeoutInMs: 操作がタイムアウトするまでの待機時間 (ミリ秒単位)。これにより、再試行が残っている場合に再試行がトリガーされます。 既定値: 60000 ミリ秒。

簡単な使用方法は です { "maxRetries": 4 }

使用例:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

Event Hub 接続文字列を構成するプロパティのセット。

EventHubConsumerClientOptions

EventHubConsumerClient の作成時に指定できるオプションについて説明します。

  • loadBalancingOptions: EventHubConsumerClient がパーティションを要求する方法を調整するためのオプション。
  • userAgent : サービスへの接続プロパティとして渡される組み込みのユーザー エージェント文字列に追加する文字列。
  • webSocketOptions : Web ソケット経由の AMQP 接続のチャネリングを構成するオプション。
    • websocket : WebSocket 経由で接続を行う場合に AMQP 接続の作成に使用される WebSocket コンストラクター。
    • webSocketConstructorOptions : WebSocket 経由で接続を行う場合に Websocket コンストラクターに渡すオプション。
  • retryOptions : クライアント/プロデューサー/コンシューマーに対するすべての操作の再試行オプション。
    • maxRetries : 再試行可能なエラーが発生した場合に操作を再試行できる回数。
    • maxRetryDelayInMs: 再試行間の最大遅延。 指数再試行を実行する場合にのみ適用されます。
    • mode: 列挙型で RetryMode 指定された、適用する再試行モード。 オプションは ExponentialFixed です。 既定値は Fixed です。
    • retryDelayInMs: 次の試行を行う前に待機する時間 (ミリ秒単位)。 が にExponential設定されている場合mode、これは再試行の間に指数関数的に増加する遅延を計算するために使用されます。 既定値: 30000 ミリ秒。
    • timeoutInMs: 操作がタイムアウトするまでの待機時間 (ミリ秒単位)。これにより、再試行が残っている場合に再試行がトリガーされます。 既定値: 60000 ミリ秒。

簡単な使用方法は です { "maxRetries": 4 }

使用例:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

イベント ハブのランタイム情報について説明します。

EventPosition

イベント ハブ パーティション内のイベントの位置を表します。通常は、 で EventHubConsumerClient メソッドをsubscribe()呼び出して、イベントの受信を開始するパーティション内の位置を指定するときに使用されます。

ストリームの開始または終了を表す EventPosition を取得するには、それぞれ 定数 earliestEventPositionlatestEventPosition を使用します。

GetEventHubPropertiesOptions

の動作を構成するためのオプションの getEventHubPropertiesセット。

  • abortSignal : 操作を AbortSignalLike 取り消す要求を通知するインターフェイスの実装。
  • parentSpanSpan: この操作の呼び出し中に作成されたスパンの としてparent使用する またはSpanContext
GetPartitionIdsOptions

の動作を構成するためのオプションの getPartitionIdsセット。

  • abortSignal : 操作を AbortSignalLike 取り消す要求を通知するインターフェイスの実装。
  • parentSpanSpan: この操作の呼び出し中に作成されたスパンの としてparent使用する またはSpanContext
GetPartitionPropertiesOptions

の動作を構成するためのオプションの getPartitionPropertiesセット。

  • abortSignal : 操作を AbortSignalLike 取り消す要求を通知するインターフェイスの実装。
  • parentSpanSpan: この操作の呼び出し中に作成されたスパンの としてparent使用する またはSpanContext
LastEnqueuedEventProperties

イベントが Event Hubs サービスから受信されるとコンシューマーによって観察される、パーティションの最後のエンキューされたイベントに関する一連の情報

LoadBalancingOptions

負荷分散設定を構成するためのオプション バッグ。

OnSendEventsErrorContext

イベント ハブに正常に送信されなかったイベント、割り当てられたパーティション、送信中に発生したエラーが含まれます。

OnSendEventsSuccessContext

イベント ハブに正常に送信されたイベントと、割り当てられたパーティションが含まれます。

OperationOptions

トレースと abortSignal を構成するためのオプション。

PartitionContext

の一部 SubscriptionEventHandlersである各関数に渡されるコンテキストを記述するインターフェイス。 これらの関数のいずれかを実装する場合は、コンテキスト オブジェクトを使用して、パーティションに関する情報とチェックポイント機能を取得します。

PartitionOwnership

Event Hub インスタンスのコンシューマー グループから特定のパーティションの処理を EventProcessor 所有する のインスタンスの詳細を表すインターフェイス。

: これは、 によって EventProcessor 内部的に使用され、ユーザーが直接作成する必要はありません。

PartitionProperties

EventHub パーティションのランタイム情報について説明します。

ReceivedEventData

Event Hub から受信したイベントの構造を記述するインターフェイス。 を使用するときに、イベント ハブから受信したイベントを処理する関数を作成 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

Event Hub からイベントを受信するために メソッドが呼び出されたときに subscribe() によって呼び出される、ユーザーがEventHubConsumerClient実装する関数を記述するインターフェイス。

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 Event Hubsに適用できるさまざまなプロパティに解析します。 プロパティは、EventHubProducerClient または EventHubConsumerClient を構築するのに役立ちます。

関数の詳細

createEventDataAdapter(EventDataAdapterParameters)

イベント データ アダプターを構築する関数。 このアダプターは、 と共 @azure/schema-registry-avro に使用して、イベント データ内の本文をエンコードおよびデコードできます。

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

パラメーター

params
EventDataAdapterParameters

イベント データを作成するためのパラメーター

戻り値

MessageAdapter<EventData>

イベント データを生成および使用できるイベント データ アダプター

parseEventHubConnectionString(string)

指定された接続文字列を、Azure Event Hubsに適用できるさまざまなプロパティに解析します。 プロパティは、EventHubProducerClient または EventHubConsumerClient を構築するのに役立ちます。

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

パラメーター

connectionString

string

Event Hubs 名前空間用に作成された共有アクセス ポリシーに関連付けられている接続文字列。

戻り値