共用方式為


EventHubBufferedProducerClient class

EventHubBufferedProducerClient用來將事件發佈至特定的事件中樞。

EventHubBufferedProducerClient不會立即發佈事件。 相反地,事件會經過緩衝處理,以便在批次已滿或 maxWaitTimeInMs 已經過且未排入佇列的新事件時,有效率地批次處理和發佈事件。

視排入佇列事件時所指定的選項而定,它們可能會自動指派給分割區、根據指定的分割區索引鍵分組,或指派特別要求的資料分割。

此模型旨在將批次管理的負擔從呼叫端轉移,而代價是非決定性計時,以在何時發佈事件。 另外還有一些需要考慮的取捨:

  • 如果應用程式當機,則緩衝區中的事件將不會發佈。 為了防止資料遺失,建議呼叫端使用 onSendEventsSuccessHandleronSendEventsErrorHandler 處理常式來追蹤發佈進度。
  • 指定分割區索引鍵的事件可能會指派與與其他產生者使用相同的索引鍵來指派不同的分割區。
  • 在分割區暫時無法使用的不太可能情況下, EventHubBufferedProducerClient 可能需要較長的時間才能復原,而不是其他產生者。

在立即發佈具有決定性結果的事件時,請務必使用 建議使用 EventHubProducerClient ,將分割區索引鍵指派給與其他發行者一致的分割區,或將可用性最大化的需求。

建構函式

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

類別 EventHubBufferedProducerClient 是用來將事件傳送至事件中樞。 options使用參數來設定重試原則或 Proxy 設定。

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

類別 EventHubBufferedProducerClient 是用來將事件傳送至事件中樞。 options使用參數來設定重試原則或 Proxy 設定。

EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)

類別 EventHubBufferedProducerClient 是用來將事件傳送至事件中樞。 options使用參數來設定重試原則或 Proxy 設定。

屬性

eventHubName

建立此用戶端的事件中樞實例名稱。

fullyQualifiedNamespace

建立此用戶端之事件中樞實例的完整命名空間。 這可能類似于 .servicebus.windows.net。

identifier

用來識別此 EventHubBufferedProducerClient 的名稱。 如果未指定或空白,則會產生隨機唯一的 。

方法

close(BufferedCloseOptions)

關閉與事件中樞實例的 AMQP 連線,並傳回在中斷連線完成時將解決的承諾。

這會等候排入佇列的事件排清至服務,再關閉連線。 若要關閉而不排清,請將 flush 選項設定為 false

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

將事件排入佇列至要發佈至事件中樞的緩衝區。 如果叫用此方法時緩衝區中沒有容量,它會等候空間變成可用,並確定事件已排入佇列。

當此呼叫傳回時,事件已接受到緩衝區中,但可能尚未發佈。 當處理緩衝區時,發行將會在未來的不具決定性點進行。

enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)

將事件排入佇列至要發佈至事件中樞的緩衝區。 如果叫用此方法時緩衝區中沒有容量,它會等候空間變成可用,並確定事件已排入佇列。

當此呼叫傳回時,事件已接受到緩衝區中,但可能尚未發佈。 當處理緩衝區時,發行將會在未來的不具決定性點進行。

flush(BufferedFlushOptions)

嘗試立即發佈緩衝區中的所有事件。 這可能會導致發行多個批次,而 每個批次的結果都會由 onSendEventsSuccessHandleronSendEventsErrorHandler 處理常式個別報告。

getEventHubProperties(GetEventHubPropertiesOptions)

提供事件中樞執行時間資訊。

getPartitionIds(GetPartitionIdsOptions)

提供與事件中樞相關聯之每個分割區的識別碼。

getPartitionProperties(string, GetPartitionPropertiesOptions)

提供指定之分割區狀態的相關資訊。

建構函式詳細資料

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

類別 EventHubBufferedProducerClient 是用來將事件傳送至事件中樞。 options使用參數來設定重試原則或 Proxy 設定。

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'。

options
EventHubBufferedProducerClientOptions

設定用戶端時要套用的一組選項。

  • retryOptions :設定用戶端上所有作業的重試原則。 例如,{ "maxRetries": 4 }{ "maxRetries": 4, "retryDelayInMs": 30000 }
  • webSocketOptions:設定透過 Web 通訊端的 AMQP 連線通道。
  • userAgent :要附加至傳遞至服務之內建使用者代理程式字串的字串。

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

類別 EventHubBufferedProducerClient 是用來將事件傳送至事件中樞。 options使用參數來設定重試原則或 Proxy 設定。

new EventHubBufferedProducerClient(connectionString: string, eventHubName: string, options: EventHubBufferedProducerClientOptions)

參數

connectionString

string

用來連線到事件中樞命名空間的連接字串。 預期共用金鑰屬性包含在此連接字串中,但不包含事件中樞路徑,例如 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key;'。

eventHubName

string

要連接用戶端的特定事件中樞名稱。

options
EventHubBufferedProducerClientOptions

設定用戶端時要套用的一組選項。

  • retryOptions :設定用戶端上所有作業的重試原則。 例如,{ "maxRetries": 4 }{ "maxRetries": 4, "retryDelayInMs": 30000 }
  • webSocketOptions:設定透過 Web 通訊端的 AMQP 連線通道。
  • userAgent :要附加至傳遞至服務之內建使用者代理程式字串的字串。

EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)

類別 EventHubBufferedProducerClient 是用來將事件傳送至事件中樞。 options使用參數來設定重試原則或 Proxy 設定。

new EventHubBufferedProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options: EventHubBufferedProducerClientOptions)

參數

fullyQualifiedNamespace

string

可能類似于 .servicebus.windows.net 的完整命名空間

eventHubName

string

要連接用戶端的特定事件中樞名稱。

credential

TokenCredential | NamedKeyCredential | SASCredential

用戶端用來取得權杖的認證物件,用來向Azure 事件中樞服務驗證連線。 如需建立支援 AAD 驗證的認證,請參閱@azure/身分識別。 AzureNamedKeyCredential 如果您想要傳入 SharedAccessKeyNameSharedAccessKey 而不要使用連接字串,請使用 from @azure/core-auth。 這些欄位分別對應至 name 中的 AzureNamedKeyCredentialkey 欄位。 AzureSASCredential如果您想要 SharedAccessSignature 傳入 而不使用連接字串,請使用 from @azure/core-auth。 此欄位對應至 signature 中的 AzureSASCredential

options
EventHubBufferedProducerClientOptions

設定用戶端時要套用的一組選項。

  • 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)

關閉與事件中樞實例的 AMQP 連線,並傳回在中斷連線完成時將解決的承諾。

這會等候排入佇列的事件排清至服務,再關閉連線。 若要關閉而不排清,請將 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>

參數

options
EnqueueEventOptions

一組選項,可指定以影響事件傳送至相關聯事件中樞的方式。

  • abortSignal :用來取消排入佇列Event 作業的訊號。
  • partitionId :此事件集將傳送至的分割區。 如果設定, partitionKey 則無法設定。
  • partitionKey :雜湊的值,用來產生資料分割指派。 如果設定, partitionId 則無法設定。

傳回

Promise<number>

目前緩衝處理並等待發佈的所有分割區的事件總數。

enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)

將事件排入佇列至要發佈至事件中樞的緩衝區。 如果叫用此方法時緩衝區中沒有容量,它會等候空間變成可用,並確定事件已排入佇列。

當此呼叫傳回時,事件已接受到緩衝區中,但可能尚未發佈。 當處理緩衝區時,發行將會在未來的不具決定性點進行。

function enqueueEvents(events: EventData[] | AmqpAnnotatedMessage[], options?: EnqueueEventOptions): Promise<number>

參數

events

EventData[] | AmqpAnnotatedMessage[]

EventDataAmqpAnnotatedMessage 的陣列。

options
EnqueueEventOptions

一組選項,可指定以影響事件傳送至相關聯事件中樞的方式。

  • abortSignal :用來取消排入佇列Events 作業的訊號。
  • partitionId :此事件集將傳送至的分割區。 如果設定, partitionKey 則無法設定。
  • partitionKey :雜湊的值,用來產生資料分割指派。 如果設定, partitionId 則無法設定。

傳回

Promise<number>

目前緩衝處理並等待發佈的所有分割區的事件總數。

flush(BufferedFlushOptions)

嘗試立即發佈緩衝區中的所有事件。 這可能會導致發行多個批次,而 每個批次的結果都會由 onSendEventsSuccessHandleronSendEventsErrorHandler 處理常式個別報告。

function flush(options?: BufferedFlushOptions): Promise<void>

參數

options
BufferedFlushOptions

要套用至作業呼叫的選項組。

傳回

Promise<void>

getEventHubProperties(GetEventHubPropertiesOptions)

提供事件中樞執行時間資訊。

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

參數

options
GetEventHubPropertiesOptions

要套用至作業呼叫的選項組。

傳回

可解決事件中樞實例相關資訊的承諾。

getPartitionIds(GetPartitionIdsOptions)

提供與事件中樞相關聯之每個分割區的識別碼。

function getPartitionIds(options?: GetPartitionIdsOptions): Promise<string[]>

參數

options
GetPartitionIdsOptions

要套用至作業呼叫的選項組。

傳回

Promise<string[]>

承諾,會使用字串陣列解析,此陣列代表與事件中樞相關聯之每個分割區的識別碼。

getPartitionProperties(string, GetPartitionPropertiesOptions)

提供指定之分割區狀態的相關資訊。

function getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise<PartitionProperties>

參數

partitionId

string

需要資訊的分割區識別碼。

options
GetPartitionPropertiesOptions

要套用至作業呼叫的選項組。

傳回

一項承諾,其會解決資料分割狀態的相關資訊。