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