View a markdown version of this page

Commander et dédupliquer des événements sur un bus d'événements personnalisé - Amazon EventBridge

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Commander et dédupliquer des événements sur un bus d'événements personnalisé

La commande est la propriété de l'abonné. La déduplication se produit lorsque vous publiez. Les deux sont configurés à des endroits différents et résolvent des problèmes différents.

Commander

Celui d'un abonné Type est UNORDERED ouFIFO. Un abonné non ordonné diffuse des événements en parallèle pour obtenir le débit le plus élevé. Un abonné FIFO diffuse les événements dans l'ordre dans lequel ils ont été publiés au sein d'un groupe d'événements. Vous attribuez le groupe lorsque vous publiez, SystemMetadata.EventGroupId dans chaque entrée de l'une ou l'autre des API de publication.

Un groupe d'événements appartient au compte qui l'a publié. Deux comptes qui publient sur un bus partagé avec le même bus EventGroupId créent deux groupes distincts : leurs événements ne sont pas ordonnés les uns par rapport aux autres et ils ne partagent pas le débit d'un groupe. Pour les limites de groupe, voirQuotas de bus événementiels personnalisés.

Au sein d'un abonné FIFO, un événement qui ne peut pas être organisé retarde les événements ultérieurs de son propre groupe pendant que les autres groupes continuent. Limitez les identifiants de groupe, par exemple un identifiant client ou un identifiant de commande, et ne les dérivez pas à partir d'entrées illimitées. Une cible FIFO telle qu'une file d'attente FIFO Amazon SQS impose ses propres limites de longueur et de caractères à l'identifiant de groupe.

Déduplication au moment de la publication

Vous dédupliquez soit en paramétrant DeduplicationType=CONTENT_BASED la demande, soit en SystemMetadata.DeduplicationId paramétrant chaque entrée.

  • --deduplication-configuration DeduplicationType=CONTENT_BASEDRéglé sur demande. EventBridge hache le contenu de chaque entrée et supprime une entrée dont le hachage a déjà été accepté.

  • Omettez DeduplicationConfiguration et définissez SystemMetadata.DeduplicationId sur chaque entrée une clé que vous possédez déjà, telle qu'une clé d'idempotence fournie par votre producteur.

EventBridge supprime un doublon qui arrive dans les 5 minutes (300 secondes) suivant la saisie répétée. Le contrôle est limité à votre compte et au groupe d'événements lorsque l'entrée comporte un EventGroupId : une entrée avec la même clé provenant d'un autre compte ou d'un autre groupe est un événement différent. Une entrée sans un EventGroupId est toujours dédupliquée, parmi toutes les entrées non groupées de votre compte sur ce bus.

Ensemble, cela permet une diffusion en une seule fois : une publication dupliquée dans la fenêtre est supprimée dans le bus, et un abonné FIFO diffuse ensuite chaque événement accepté une fois, dans l'ordre, au sein de son groupe. En dehors de la fenêtre, ou depuis un compte ou un groupe différent, une publication répétée est un nouvel événement. Gardez les consommateurs impuissants dans ces cas.

Dans les deux cas, un doublon supprimé est renvoyéSuccessCode: DEDUPLICATED. Considère ça comme une réussite. Un code qui considère chaque succès comme un nouvel événement surestime la livraison. EventBridge facture la déduplication basée sur le contenu comme une opération distincte. Préférez donc une solution DeduplicationId lorsque votre producteur possède déjà une clé. Pour en savoir plus sur les tarifs, consultez la page EventBridge Tarification Amazon. Pour connaître les types de contenu auxquels s'applique la déduplication, consultezTypes de contenu pris en charge : JSON, Avro, Protobuf et octets bruts.