View a markdown version of this page

カスタムイベントバスでのイベントの順序付けと重複排除 - Amazon EventBridge

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

カスタムイベントバスでのイベントの順序付けと重複排除

注文はサブスクライバーのプロパティです。重複排除は、公開時に発生します。この 2 つはさまざまな場所に設定され、さまざまな問題を解決します。

順序付け

サブスクライバーの Typeは UNORDEREDまたは ですFIFO。順序付けられていないサブスクライバーは、最高のスループットのためにイベントを並行して配信します。FIFO サブスクライバーは、イベントグループ内で発行された順序でイベントを配信します。パブリッシュ時に、パブリッシュ API の各エントリSystemMetadata.EventGroupIdに を使用して グループを割り当てます。

イベントグループは、それを公開したアカウントに属します。同じ で共有バスに発行する 2 つのアカウントは、2 つの別々のグループEventGroupIdを作成します。それらのイベントは互いに相対的に順序付けられず、グループのスループットは共有されません。グループの制限については、「」を参照してくださいカスタムイベントバスのクォータ。

FIFO サブスクライバー内では、配信できないイベントは、他のグループが続行する間、独自のグループ内の後のイベントを保持します。顧客識別子や注文識別子など、グループ識別子を境界で保持し、境界のない入力から派生させないでください。Amazon SQS FIFO キューなどの FIFO ターゲットは、グループ識別子に独自の長さと文字制限を適用します。

FIFO サブスクライバーは InvocationType EVENT Lambda ターゲットを受け入れますが、注文は Lambda の非同期キューへのハンドオフまで保持されます。順序付けられた処理REQUEST_RESPONSEに使用します。

公開時の重複排除

リクエストDeduplicationType=CONTENT_BASEDで を設定するか、各エントリSystemMetadata.DeduplicationIdで を設定して重複排除します。

  • リクエスト--deduplication-configuration DeduplicationType=CONTENT_BASEDで を設定します。EventBridge は各エントリのコンテンツをハッシュし、ハッシュがすでに受け入れられているエントリを抑制します。

  • プロデューサーのべき等性キーなど、既存のキーにSystemMetadata.DeduplicationId各エントリを省略DeduplicationConfigurationして設定します。

EventBridge は、繰り返したエントリから 5 分 (300 秒) 以内に到着する重複を抑制します。チェックの範囲は、アカウントに限定され、エントリに がある場合、イベントグループに限定されますEventGroupId。別のアカウントの同じキーを持つエントリ、または別のグループ内のエントリは、別のイベントです。のないエントリEventGroupIdは、そのバス上のアカウントのグループ化されていないすべてのエントリにわたって、引き続き重複排除されます。

これにより、正確に 1 回だけ取り込みが行われます。ウィンドウ内の重複パブリッシュはバスで抑制され、FIFO サブスクライバーは、受け入れられた各イベントをグループ内で 1 回、順番にターゲットに渡します。

いずれの場合も、抑制された重複は を返しますSuccessCode: DEDUPLICATED。成功として扱います。すべての成功を新しいイベントとしてカウントするコードは、配信を上書きします。EventBridge はコンテンツベースの重複排除を別のオペレーションとして請求するため、プロデューサーにキーがすでにあるDeduplicationId場合は を優先します。料金については、「Amazon EventBridge の料金」を参照してください。重複排除が適用されるコンテンツタイプについては、「」を参照してくださいサポートされているコンテンツタイプ: JSON、Avro、Protobuf、および raw バイト。