EventHubBufferedProducerClient class
EventHubBufferedProducerClient
は、特定のイベント ハブにイベントを発行するために使用されます。
EventHubBufferedProducerClient
はすぐにはイベントを発行しません。
代わりに、イベントはバッファー処理されるため、バッチがいっぱいになった場合や、新しいイベントがエンキューされていない状態で maxWaitTimeInMs
が経過したときに、イベントを効率的にバッチ処理して発行できます。
イベントがエンキューされるときに指定されたオプションに応じて、自動的にパーティションに割り当てられるか、指定されたパーティション キーに従ってグループ化されるか、または特定の要求されたパーティションが割り当てられる場合があります。
このモデルは、イベントが発行されるタイミングに関して、非確定的なタイミングを犠牲にして、バッチ管理の負担を呼び出し元からシフトすることを目的としています。 考慮すべきその他のトレードオフもあります。
- アプリケーションがクラッシュした場合、バッファー内のイベントは発行されません。 データ損失を防ぐために、呼び出し元は、
onSendEventsSuccessHandler
ハンドラーとonSendEventsErrorHandler
ハンドラーを使用して発行の進行状況を追跡することをお勧めします。 - パーティション キーを指定するイベントには、他のプロデューサーと同じキーを使用するイベントとは異なるパーティションが割り当てられる場合があります。
- 万が一、パーティションが一時的に使用できなくなった場合、
EventHubBufferedProducerClient
は他のプロデューサーよりも回復に時間がかかる場合があります。
決定論的な結果でイベントをすぐに公開することが重要なシナリオでは、パーティション キーが他のパブリッシャーと一致するパーティションに割り当てられているか、可用性の最大化が要件である場合は、EventHubProducerClient
を使用することをお勧めします。
コンストラクター
Event |
|
Event |
|
Event |
|
プロパティ
event |
このクライアントが作成されるイベント ハブ インスタンスの名前。 |
fully |
このクライアントが作成されるイベント ハブ インスタンスの完全修飾名前空間。 これは .servicebus.windows.net のようになります。 |
identifier | この EventHubBufferedProducerClient を識別するために使用される名前。 指定しない場合、または空の場合は、ランダムに一意のものが生成されます。 |
メソッド
close(Buffered |
Event Hub インスタンスへの AMQP 接続を閉じ、切断が完了したときに解決される約束を返します。 これにより、接続を閉じる前に、エンキューされたイベントがサービスにフラッシュされるまで待機します。
フラッシュせずに閉じるには、 |
enqueue |
イベント ハブに発行するバッファーにイベントをエンキューします。 このメソッドが呼び出されたときにバッファーに容量がない場合は、空き領域が使用可能になるまで待機し、イベントがエンキューされていることを確認します。 この呼び出しが返されると、イベントはバッファーに受け入れられますが、まだ発行されていない可能性があります。 発行は、バッファーが処理されるときに、将来、非決定的な時点で行われます。 |
enqueue |
イベント ハブに発行されるバッファーにイベントをエンキューします。 このメソッドが呼び出されたときにバッファーに容量がない場合、領域が使用可能になるまで待機し、イベントがエンキューされていることを確認します。 この呼び出しが返されると、イベントはバッファーに受け入れられますが、まだ発行されていない可能性があります。 発行は、バッファーが処理されるときに、将来、非決定的な時点で行われます。 |
flush(Buffered |
バッファー内のすべてのイベントを直ちに発行しようとします。
これにより、複数のバッチが発行される可能性があります。各バッチの結果は、 |
get |
Event Hub ランタイム情報を提供します。 |
get |
イベント ハブに関連付けられている各パーティションの ID を提供します。 |
get |
指定したパーティションの状態に関する情報を提供します。 |
コンストラクターの詳細
EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)
EventHubBufferedProducerClient
クラスは、イベント ハブにイベントを送信するために使用されます。
options
パラメーターを使用して、再試行ポリシーまたはプロキシ設定を構成します。
new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)
パラメーター
- connectionString
-
string
イベント ハブ インスタンスへの接続に使用する接続文字列。 この接続文字列には、共有キーのプロパティとイベント ハブのパスが含まれている必要があります。 例: 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key;EntityPath=my-event-hub-name'.
クライアントを構成するときに適用する一連のオプション。
-
retryOptions
: クライアント上のすべての操作の再試行ポリシーを構成します。 たとえば、{ "maxRetries": 4 }
や{ "maxRetries": 4, "retryDelayInMs": 30000 }
などです。 -
webSocketOptions
: Web ソケット経由の AMQP 接続のチャネリングを構成します。 -
userAgent
: サービスに渡される組み込みのユーザー エージェント文字列に追加する文字列。
EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)
EventHubBufferedProducerClient
クラスは、イベント ハブにイベントを送信するために使用されます。
options
パラメーターを使用して、再試行ポリシーまたはプロキシ設定を構成します。
new EventHubBufferedProducerClient(connectionString: string, eventHubName: string, options: EventHubBufferedProducerClientOptions)
パラメーター
- connectionString
-
string
Event Hubs 名前空間への接続に使用する接続文字列。 共有キーのプロパティがこの接続文字列に含まれていることが予想されますが、イベント ハブのパスは含まれません 。例: 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key;'。
- eventHubName
-
string
クライアントの接続先となる特定のイベント ハブの名前。
クライアントを構成するときに適用する一連のオプション。
-
retryOptions
: クライアント上のすべての操作の再試行ポリシーを構成します。 たとえば、{ "maxRetries": 4 }
や{ "maxRetries": 4, "retryDelayInMs": 30000 }
などです。 -
webSocketOptions
: Web ソケット経由の AMQP 接続のチャネリングを構成します。 -
userAgent
: サービスに渡される組み込みのユーザー エージェント文字列に追加する文字列。
EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)
EventHubBufferedProducerClient
クラスは、イベント ハブにイベントを送信するために使用されます。
options
パラメーターを使用して、再試行ポリシーまたはプロキシ設定を構成します。
new EventHubBufferedProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options: EventHubBufferedProducerClientOptions)
パラメーター
- fullyQualifiedNamespace
-
string
.servicebus.windows.net に似ている可能性が高い完全な名前空間
- eventHubName
-
string
クライアントの接続先となる特定のイベント ハブの名前。
- credential
Azure Event Hubs サービスとの接続を認証するためのトークンを取得するためにクライアントによって使用される資格情報オブジェクト。
AAD 認証をサポートする資格情報の作成については、@azure/ID を参照してください。接続文字列を使用せずに SharedAccessKeyName
と SharedAccessKey
を渡す場合は、@azure/core-auth の AzureNamedKeyCredential
を使用します。 これらのフィールドは、AzureNamedKeyCredential
の name
フィールドと key
フィールドにそれぞれマップされます。
接続文字列を使用せずに SharedAccessSignature
を渡す場合は、@azure/core-auth の AzureSASCredential
を使用します。 このフィールドは、AzureSASCredential
の signature
にマップされます。
クライアントを構成するときに適用する一連のオプション。
-
retryOptions
: クライアント上のすべての操作の再試行ポリシーを構成します。 たとえば、{ "maxRetries": 4 }
や{ "maxRetries": 4, "retryDelayInMs": 30000 }
などです。 -
webSocketOptions
: Web ソケット経由の AMQP 接続のチャネリングを構成します。 -
userAgent
: サービスに渡される組み込みのユーザー エージェント文字列に追加する文字列。
プロパティの詳細
eventHubName
このクライアントが作成されるイベント ハブ インスタンスの名前。
string eventHubName
プロパティ値
string
fullyQualifiedNamespace
このクライアントが作成されるイベント ハブ インスタンスの完全修飾名前空間。 これは .servicebus.windows.net のようになります。
string fullyQualifiedNamespace
プロパティ値
string
identifier
この EventHubBufferedProducerClient を識別するために使用される名前。 指定しない場合、または空の場合は、ランダムに一意のものが生成されます。
identifier: string
プロパティ値
string
メソッドの詳細
close(BufferedCloseOptions)
Event Hub インスタンスへの AMQP 接続を閉じ、切断が完了したときに解決される約束を返します。
これにより、接続を閉じる前に、エンキューされたイベントがサービスにフラッシュされるまで待機します。
フラッシュせずに閉じるには、flush
オプションを false
に設定します。
function close(options?: BufferedCloseOptions): Promise<void>
パラメーター
- options
- BufferedCloseOptions
操作呼び出しに適用するオプションのセット。
戻り値
Promise<void>
約束
enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)
イベント ハブに発行するバッファーにイベントをエンキューします。 このメソッドが呼び出されたときにバッファーに容量がない場合は、空き領域が使用可能になるまで待機し、イベントがエンキューされていることを確認します。
この呼び出しが返されると、イベントはバッファーに受け入れられますが、まだ発行されていない可能性があります。 発行は、バッファーが処理されるときに、将来、非決定的な時点で行われます。
function enqueueEvent(event: EventData | AmqpAnnotatedMessage, options?: EnqueueEventOptions): Promise<number>
パラメーター
- event
- options
- EnqueueEventOptions
関連付けられたイベント ハブにイベントを送信する方法に影響を与えるために指定できる一連のオプション。
-
abortSignal
: enqueueEvent 操作を取り消すために使用されるシグナル。 -
partitionId
: この一連のイベントが送信されるパーティション。 設定すると、partitionKey
を設定できません。 -
partitionKey
: パーティション割り当てを生成するためにハッシュされる値。 設定すると、partitionId
を設定できません。
戻り値
Promise<number>
現在バッファーに格納され、すべてのパーティションにわたって発行されるのを待機しているイベントの合計数。
enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)
イベント ハブに発行されるバッファーにイベントをエンキューします。 このメソッドが呼び出されたときにバッファーに容量がない場合、領域が使用可能になるまで待機し、イベントがエンキューされていることを確認します。
この呼び出しが返されると、イベントはバッファーに受け入れられますが、まだ発行されていない可能性があります。 発行は、バッファーが処理されるときに、将来、非決定的な時点で行われます。
function enqueueEvents(events: EventData[] | AmqpAnnotatedMessage[], options?: EnqueueEventOptions): Promise<number>
パラメーター
- events
EventData または AmqpAnnotatedMessage
の配列。
- options
- EnqueueEventOptions
関連付けられたイベント ハブにイベントを送信する方法に影響を与えるために指定できる一連のオプション。
-
abortSignal
: enqueueEvents 操作を取り消すために使用されるシグナル。 -
partitionId
: この一連のイベントが送信されるパーティション。 設定すると、partitionKey
を設定できません。 -
partitionKey
: パーティション割り当てを生成するためにハッシュされる値。 設定すると、partitionId
を設定できません。
戻り値
Promise<number>
現在バッファーに格納され、すべてのパーティションにわたって発行されるのを待機しているイベントの合計数。
flush(BufferedFlushOptions)
バッファー内のすべてのイベントを直ちに発行しようとします。
これにより、複数のバッチが発行される可能性があります。各バッチの結果は、onSendEventsSuccessHandler
ハンドラーと onSendEventsErrorHandler
ハンドラーによって個別に報告されます。
function flush(options?: BufferedFlushOptions): Promise<void>
パラメーター
- options
- BufferedFlushOptions
操作呼び出しに適用するオプションのセット。
戻り値
Promise<void>
getEventHubProperties(GetEventHubPropertiesOptions)
Event Hub ランタイム情報を提供します。
function getEventHubProperties(options?: GetEventHubPropertiesOptions): Promise<EventHubProperties>
パラメーター
- options
- GetEventHubPropertiesOptions
操作呼び出しに適用するオプションのセット。
戻り値
Promise<EventHubProperties>
Event Hub インスタンスに関する情報で解決される Promise。
getPartitionIds(GetPartitionIdsOptions)
イベント ハブに関連付けられている各パーティションの ID を提供します。
function getPartitionIds(options?: GetPartitionIdsOptions): Promise<string[]>
パラメーター
- options
- GetPartitionIdsOptions
操作呼び出しに適用するオプションのセット。
戻り値
Promise<string[]>
Event Hub に関連付けられている各パーティションの ID を表す文字列の配列で解決される Promise。
getPartitionProperties(string, GetPartitionPropertiesOptions)
指定したパーティションの状態に関する情報を提供します。
function getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise<PartitionProperties>
パラメーター
- partitionId
-
string
情報が必要なパーティションの ID。
- options
- GetPartitionPropertiesOptions
操作呼び出しに適用するオプションのセット。
戻り値
Promise<PartitionProperties>
パーティションの状態に関する情報で解決される Promise。