View a markdown version of this page

將保留的事件重播給訂閱者 - Amazon EventBridge

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將保留的事件重播給訂閱者

若要傳遞匯流排已保留的事件,請使用 建立訂閱者,--starting-position POINT_IN_TIME並在匯流排保留時段內建立起點,例如 --point-in-time-configuration '{ "PointType": "TIMESTAMP", "StartingPoint": "2026-09-01T00:00:00Z" }'。沒有單獨的重播 API:訂閱者從其開始位置讀取保留的事件,因此仍可再次交付保留期間內的任何項目。 DescribeEventBus傳回訂閱者可以從中讀取RetentionWindowStartTime的最早時間點;在匯流排建立時間的新匯流排上,因此最近的時間戳記仍可能落在視窗之外。如需保留期間本身,請參閱 選擇保留期間。

開始位置

當您建立訂閱者時, --starting-position LATEST 只會接收訂閱者存在之後發佈的事件,或從保留的歷史記錄中POINT_IN_TIME讀取。使用 POINT_IN_TIME,將 --point-in-time-configurationPointType設定為 HORIZON、最早保留的事件,或使用 設定為 TIMESTAMP StartingPoint。起點必須位於保留時段內:在 或之後RetentionWindowStartTime,而不是未來。選用 會在此時EndPoint停止訂閱者。省略 EndPoint和訂閱者會讀取保留的事件、趕上即時事件並繼續交付。

aws eventsv2 create-subscriber \ --name reprocess-september \ --event-bus-arn arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef \ --starting-position POINT_IN_TIME \ --point-in-time-configuration '{ "PointType": "TIMESTAMP", "StartingPoint": "2026-09-01T00:00:00Z" }' \ --invoke-configuration '{ "TargetArn": "arn:aws:sqs:us-east-1:111122223333:reprocess", "RoleArn": "arn:aws:iam::111122223333:role/EventBusDeliveryRole" }'

重播具有啟動延遲,然後以即時速度執行。允許延遲,再得出重播無法運作的結論。若要暫停訂閱者,並稍後在有或沒有待處理項目的情況下繼續訂閱者,請參閱 暫停和繼續。

告知重播的事件分開

每個交付的事件都會攜帶 SystemMetadata."aws:DeliveryType",這是LIVE針對送達時交付的事件,以及REPLAY針對保留歷史記錄讀取的事件。在重播期間使用它讓消費者具有冪等性。