EventHubProducerClient class

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

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

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

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

コンストラクター

EventHubProducerClient(string, EventHubClientOptions)

クラスは EventHubProducerClient 、イベント ハブにイベントを送信するために使用されます。 parmeter を options 使用して、再試行ポリシーまたはプロキシ設定を構成します。

EventHubProducerClient(string, string, EventHubClientOptions)

クラスは EventHubProducerClient 、イベント ハブにイベントを送信するために使用されます。 parmeter を options 使用して、再試行ポリシーまたはプロキシ設定を構成します。

EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)

クラスは EventHubProducerClient 、イベント ハブにイベントを送信するために使用されます。 parmeter を options 使用して、再試行ポリシーまたはプロキシ設定を構成します。

プロパティ

eventHubName

このクライアントが作成されるイベント ハブ インスタンスの名前。

fullyQualifiedNamespace

このクライアントが作成される Event Hub インスタンスの完全修飾名前空間。 これは.servicebus.windows.net に似ている可能性があります。

identifier

この EventHubProducerClient を識別するために使用される名前。 指定しない場合、または空の場合は、ランダムな一意のものが生成されます。

メソッド

close()

Event Hub インスタンスへの AMQP 接続を閉じ、切断が完了したときに解決される promise を返します。

createBatch(CreateBatchOptions)

サポートされている最大サイズに達するまでイベントを追加できる のインスタンス EventDataBatch を作成します。 バッチは、Azure Event Hubsに送信する の EventHubProducerClientsendBatch メソッドに渡すことができます。

partitionKey または partitionId の値が異なるイベントは、異なるバッチに配置する必要があります。 パーティション間でこのようなバッチ管理を簡略化したり、クライアントでイベントを自動的にバッチ処理して特定の間隔で送信したりするには、代わりに を使用 EventHubBufferedProducerClient します。

次の例では、一連のイベントが手元に存在し、安全にバッチ処理されることを前提としています。 イベントが 1 つずつ発生する場合は、 EventHubBufferedProducerClient バッチを効率的に管理するために、代わりに をお勧めします。

使用例:

const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
 if (!batch.tryAdd(messages[i])) {
   await client.sendBatch(batch);
   batch = await client.createBatch();
   if (!batch.tryAdd(messages[i])) {
     throw new Error("Message too big to fit")
   }
   if (i === messages.length - 1) {
     await client.sendBatch(batch);
   }
  }
}
getEventHubProperties(GetEventHubPropertiesOptions)

Event Hub ランタイム情報を提供します。

getPartitionIds(GetPartitionIdsOptions)

イベント ハブに関連付けられている各パーティションの ID を提供します。

getPartitionProperties(string, GetPartitionPropertiesOptions)

指定したパーティションの状態に関する情報を提供します。

sendBatch(EventDataBatch, OperationOptions)

を使用して EventHubProducerClient.createBatch() 作成されたイベントのバッチを、関連付けられたイベント ハブに送信します。

partitionKey または partitionId の値が異なるイベントは、異なるバッチに配置する必要があります。 パーティション間でこのようなバッチ管理を簡略化したり、クライアントでイベントを自動的にバッチ処理して特定の間隔で送信したりするには、代わりに を使用 EventHubBufferedProducerClient します。

次の例では、一連のイベントが手元に存在し、安全にバッチ処理されることを前提としています。 イベントが 1 つずつ発生する場合は、 EventHubBufferedProducerClient バッチを効率的に管理するために、代わりに をお勧めします。

使用例:

const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
 if (!batch.tryAdd(messages[i])) {
   await client.sendBatch(batch);
   batch = await client.createBatch();
   if (!batch.tryAdd(messages[i])) {
     throw new Error("Message too big to fit")
   }
   if (i === messages.length - 1) {
     await client.sendBatch(batch);
   }
  }
}
sendBatch(EventData[] | AmqpAnnotatedMessage[], SendBatchOptions)

イベントの配列をバッチとして関連付けられているイベント ハブに送信します。

Azure Event Hubsには、送信できるバッチのサイズに制限があります。これを超えると、コード MessageTooLargeErrorでエラーが発生します。 バッチ サイズ制限内で安全に送信するには、代わりに または EventHubBufferedProducerClient を使用EventHubProducerClient.createBatch()します。

使用例:

const client = new EventHubProducerClient(connectionString);
await client.sendBatch(messages);

コンストラクターの詳細

EventHubProducerClient(string, EventHubClientOptions)

クラスは EventHubProducerClient 、イベント ハブにイベントを送信するために使用されます。 parmeter を options 使用して、再試行ポリシーまたはプロキシ設定を構成します。

new EventHubProducerClient(connectionString: string, options?: EventHubClientOptions)

パラメーター

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'

options
EventHubClientOptions

クライアントを構成するときに適用するオプションのセット。

  • retryOptions : クライアント上のすべての操作の再試行ポリシーを構成します。 たとえば、{ "maxRetries": 4 } または { "maxRetries": 4, "retryDelayInMs": 30000 } です。
  • webSocketOptions: Web ソケット経由の AMQP 接続のチャネリングを構成します。
  • userAgent : サービスに渡される組み込みのユーザー エージェント文字列に追加する文字列。

EventHubProducerClient(string, string, EventHubClientOptions)

クラスは EventHubProducerClient 、イベント ハブにイベントを送信するために使用されます。 parmeter を options 使用して、再試行ポリシーまたはプロキシ設定を構成します。

new EventHubProducerClient(connectionString: string, eventHubName: string, options?: EventHubClientOptions)

パラメーター

connectionString

string

Event Hubs 名前空間への接続に使用する接続文字列。 共有キーのプロパティがこの接続文字列に含まれていることが予想されますが、イベント ハブのパスは含まれません。たとえば、'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key;'.

eventHubName

string

クライアントの接続先となる特定のイベント ハブの名前。

options
EventHubClientOptions

クライアントを構成するときに適用するオプションのセット。

  • retryOptions : クライアント上のすべての操作の再試行ポリシーを構成します。 たとえば、{ "maxRetries": 4 } または { "maxRetries": 4, "retryDelayInMs": 30000 } です。
  • webSocketOptions: Web ソケット経由の AMQP 接続のチャネリングを構成します。
  • userAgent : サービスに渡される組み込みのユーザー エージェント文字列に追加する文字列。

EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)

クラスは EventHubProducerClient 、イベント ハブにイベントを送信するために使用されます。 parmeter を options 使用して、再試行ポリシーまたはプロキシ設定を構成します。

new EventHubProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options?: EventHubClientOptions)

パラメーター

fullyQualifiedNamespace

string

.servicebus.windows.net に似ている可能性が高い完全な名前空間

eventHubName

string

クライアントの接続先となる特定のイベント ハブの名前。

credential

TokenCredential | NamedKeyCredential | SASCredential

Azure Event Hubs サービスとの接続を認証するためのトークンを取得するためにクライアントによって使用される資格情報オブジェクト。 AAD 認証をサポートする資格情報の作成については、「@azure/ID」を参照してください。接続文字列を使用せずに をAzureNamedKeyCredentialSharedAccessKeyNameSharedAccessKeyす場合は、from @azure/core-auth を使用します。 これらのフィールドは、 name の および key フィールドにそれぞれ AzureNamedKeyCredentialマップされます。 接続文字列を使用せずに を AzureSASCredentialSharedAccessSignature す場合は、from @azure/core-auth を使用します。 このフィールドは、 の にsignatureAzureSASCredentialマップされます。

options
EventHubClientOptions

クライアントを構成するときに適用する一連のオプション。

  • 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

この EventHubProducerClient を識別するために使用される名前。 指定しない場合、または空の場合は、ランダムな一意のものが生成されます。

identifier: string

プロパティ値

string

メソッドの詳細

close()

Event Hub インスタンスへの AMQP 接続を閉じ、切断が完了したときに解決される promise を返します。

function close(): Promise<void>

戻り値

Promise<void>

Promise

createBatch(CreateBatchOptions)

サポートされている最大サイズに達するまでイベントを追加できる のインスタンス EventDataBatch を作成します。 バッチは、Azure Event Hubsに送信する の EventHubProducerClientsendBatch メソッドに渡すことができます。

partitionKey または partitionId の値が異なるイベントは、異なるバッチに配置する必要があります。 パーティション間でこのようなバッチ管理を簡略化したり、クライアントでイベントを自動的にバッチ処理して特定の間隔で送信したりするには、代わりに を使用 EventHubBufferedProducerClient します。

次の例では、一連のイベントが手元に存在し、安全にバッチ処理されることを前提としています。 イベントが 1 つずつ発生する場合は、 EventHubBufferedProducerClient バッチを効率的に管理するために、代わりに をお勧めします。

使用例:

const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
 if (!batch.tryAdd(messages[i])) {
   await client.sendBatch(batch);
   batch = await client.createBatch();
   if (!batch.tryAdd(messages[i])) {
     throw new Error("Message too big to fit")
   }
   if (i === messages.length - 1) {
     await client.sendBatch(batch);
   }
  }
}
function createBatch(options?: CreateBatchOptions): Promise<EventDataBatch>

パラメーター

options
CreateBatchOptions

バッチの動作を構成します。

  • partitionKey: Azure Event Hubs サービスによってハッシュされ、イベントの送信先となるパーティションを決定するために使用される値。
  • partitionId : イベントのバッチを送信する必要があるパーティションの ID。
  • maxSizeInBytes: バッチのサイズの上限。 この tryAdd 制限に達すると、関数は を返します false
  • abortSignal : 操作を取り消す要求を通知します。

戻り値

Promise<EventDataBatch>

Promise

getEventHubProperties(GetEventHubPropertiesOptions)

Event Hub ランタイム情報を提供します。

function getEventHubProperties(options?: GetEventHubPropertiesOptions): Promise<EventHubProperties>

パラメーター

options
GetEventHubPropertiesOptions

操作呼び出しに適用するオプションのセット。

戻り値

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。

sendBatch(EventDataBatch, OperationOptions)

を使用して EventHubProducerClient.createBatch() 作成されたイベントのバッチを、関連付けられたイベント ハブに送信します。

partitionKey または partitionId の値が異なるイベントは、異なるバッチに配置する必要があります。 パーティション間でこのようなバッチ管理を簡略化したり、クライアントでイベントを自動的にバッチ処理して特定の間隔で送信したりするには、代わりに を使用 EventHubBufferedProducerClient します。

次の例では、一連のイベントが手元に存在し、安全にバッチ処理されることを前提としています。 イベントが 1 つずつ発生する場合は、 EventHubBufferedProducerClient バッチを効率的に管理するために、代わりに をお勧めします。

使用例:

const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
 if (!batch.tryAdd(messages[i])) {
   await client.sendBatch(batch);
   batch = await client.createBatch();
   if (!batch.tryAdd(messages[i])) {
     throw new Error("Message too big to fit")
   }
   if (i === messages.length - 1) {
     await client.sendBatch(batch);
   }
  }
}
function sendBatch(batch: EventDataBatch, options?: OperationOptions): Promise<void>

パラメーター

batch
EventDataBatch

createBatch メソッドを使用して作成できるイベントのバッチ。

options
OperationOptions

関連付けられたイベント ハブにイベントを送信する方法に影響を与えるために指定できる一連のオプション。

  • abortSignal : 送信操作を取り消す要求を通知します。

戻り値

Promise<void>

Promise

sendBatch(EventData[] | AmqpAnnotatedMessage[], SendBatchOptions)

イベントの配列をバッチとして関連付けられているイベント ハブに送信します。

Azure Event Hubsには、送信できるバッチのサイズに制限があります。これを超えると、コード MessageTooLargeErrorでエラーが発生します。 バッチ サイズ制限内で安全に送信するには、代わりに または EventHubBufferedProducerClient を使用EventHubProducerClient.createBatch()します。

使用例:

const client = new EventHubProducerClient(connectionString);
await client.sendBatch(messages);
function sendBatch(batch: EventData[] | AmqpAnnotatedMessage[], options?: SendBatchOptions): Promise<void>

パラメーター

batch

EventData[] | AmqpAnnotatedMessage[]

EventData または AmqpAnnotatedMessageの配列。

options
SendBatchOptions

関連付けられたイベント ハブにイベントを送信する方法に影響を与えるために指定できる一連のオプション。

  • abortSignal : 送信操作を取り消す要求を通知します。
  • partitionId : このバッチが送信されるパーティション。 設定されている場合は、 partitionKey 設定できません。
  • partitionKey : パーティション割り当てを生成するためにハッシュされる値。 設定されている場合は、 partitionId 設定できません。

戻り値

Promise<void>

Promise