EventHubProducerClient class
クラスは EventHubProducerClient
、イベント ハブにイベントを送信するために使用されます。
を作成するには複数の方法があります。 EventHubProducerClient
- Event Hub インスタンス用に作成された SAS ポリシーの接続文字列を使用します。
- Event Hub 名前空間用に作成された SAS ポリシーの接続文字列と、Event Hub インスタンスの名前を使用します
- などの完全な名前空間
<yournamespace>.servicebus.windows.net
と資格情報オブジェクトを使用します。
必要に応じて、オプション バッグを渡して再試行ポリシーまたはプロキシ設定を構成することもできます。
コンストラクター
Event |
クラスは |
Event |
クラスは |
Event |
クラスは |
プロパティ
event |
このクライアントが作成されるイベント ハブ インスタンスの名前。 |
fully |
このクライアントが作成される Event Hub インスタンスの完全修飾名前空間。 これは.servicebus.windows.net に似ている可能性があります。 |
identifier | この EventHubProducerClient を識別するために使用される名前。 指定しない場合、または空の場合は、ランダムな一意のものが生成されます。 |
メソッド
close() | Event Hub インスタンスへの AMQP 接続を閉じ、切断が完了したときに解決される promise を返します。 |
create |
サポートされている最大サイズに達するまでイベントを追加できる のインスタンス partitionKey または partitionId の値が異なるイベントは、異なるバッチに配置する必要があります。
パーティション間でこのようなバッチ管理を簡略化したり、クライアントでイベントを自動的にバッチ処理して特定の間隔で送信したりするには、代わりに を使用 次の例では、一連のイベントが手元に存在し、安全にバッチ処理されることを前提としています。
イベントが 1 つずつ発生する場合は、 使用例:
|
get |
Event Hub ランタイム情報を提供します。 |
get |
イベント ハブに関連付けられている各パーティションの ID を提供します。 |
get |
指定したパーティションの状態に関する情報を提供します。 |
send |
を使用して partitionKey または partitionId の値が異なるイベントは、異なるバッチに配置する必要があります。
パーティション間でこのようなバッチ管理を簡略化したり、クライアントでイベントを自動的にバッチ処理して特定の間隔で送信したりするには、代わりに を使用 次の例では、一連のイベントが手元に存在し、安全にバッチ処理されることを前提としています。
イベントが 1 つずつ発生する場合は、 使用例:
|
send |
イベントの配列をバッチとして関連付けられているイベント ハブに送信します。 Azure Event Hubsには、送信できるバッチのサイズに制限があります。これを超えると、コード 使用例:
|
コンストラクターの詳細
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
Azure Event Hubs サービスとの接続を認証するためのトークンを取得するためにクライアントによって使用される資格情報オブジェクト。
AAD 認証をサポートする資格情報の作成については、「@azure/ID」を参照してください。接続文字列を使用せずに をAzureNamedKeyCredential
渡SharedAccessKeyName
SharedAccessKey
す場合は、from @azure/core-auth を使用します。 これらのフィールドは、 name
の および key
フィールドにそれぞれ AzureNamedKeyCredential
マップされます。
接続文字列を使用せずに を AzureSASCredential
渡 SharedAccessSignature
す場合は、from @azure/core-auth を使用します。 このフィールドは、 の にsignature
AzureSASCredential
マップされます。
- 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に送信する の EventHubProducerClient
sendBatch メソッドに渡すことができます。
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
操作呼び出しに適用するオプションのセット。
戻り値
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。
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
の配列。
- options
- SendBatchOptions
関連付けられたイベント ハブにイベントを送信する方法に影響を与えるために指定できる一連のオプション。
-
abortSignal
: 送信操作を取り消す要求を通知します。 -
partitionId
: このバッチが送信されるパーティション。 設定されている場合は、partitionKey
設定できません。 -
partitionKey
: パーティション割り当てを生成するためにハッシュされる値。 設定されている場合は、partitionId
設定できません。
戻り値
Promise<void>
Promise