本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
批次交付到目標
EventBridge 會盡可能將事件分組為一個目標呼叫,因此佇列每個 最多接收 10 個事件,SendMessageBatch而函數每個 接收陣列Invoke。若要繫結批次,請在訂閱者BatchConfiguration上設定:MaxBatchSize從 1 到 500,以及MaxBatchWindowInSeconds從 0 到 300,等待更多事件再呼叫。對於每次呼叫一個事件,將 MaxBatchSize設定為 1。
批次的關閉方式
當達到三個限制中的第一個時,批次會關閉: 中的計數MaxBatchSize、 中的等待MaxBatchWindowInSeconds,或目標自己的承載大小限制,例如 Amazon SQS 請求為 256 KB。因此,大型事件會以比 更小的批次到達MaxBatchSize。您可以設定計數和視窗;位元組限制是目標的 且無法變更。
-
對於自訂目標,
BatchConfiguration是選用的。如果沒有它,EventBridge 會批次處理到目標接受的最大大小,窗口為 0 秒。 -
對於通用目標,
BatchConfiguration為必要項目,且兩個欄位皆已設定,因為 EventBridge 無法得知動作請求可攜帶的事件數量。
批次處理和排序
在批次中,事件會保留其發佈順序。來自 FIFO 訂閱者的批次可以保留來自多個事件群組的事件;每個群組的事件彼此相對排序。平行處理批次的目標,例如以並行在陣列上反覆運算的函數,會遺失該順序。
查看批次大小
TargetInvocations 指標會計數目標呼叫和EventDeliveryAttempts計數事件,因此其比率是平均批次大小。請參閱自訂事件匯流排的可觀測性:指標、日誌和 CloudTrail。