Pourquoi est-ce que je reçois l'erreur « Configuration is ambiguously defined » (Configuration ambigüe) lors de la création d'une notification d'événement Amazon S3 pour déclencher ma fonction Lambda ?

Date de la dernière mise à jour : 24/10/2019

J'essaie de créer une notification d'événement de compartiment Amazon Simple Storage Service (Amazon S3) pour déclencher ma fonction AWS Lambda. Pourquoi est-ce que je reçois l'erreur « Configuration is ambiguously defined. Cannot have overlapping suffixes in two rules if the prefixes are overlapping for the same event type. » (Configuration ambigüe. Impossible d'avoir des suffixes qui se chevauchent dans deux règles si les préfixes se chevauchent pour le même type d'événement) ?

Brève description

Vous obtenez cette erreur si les informations d'événement de votre nouvelle notification et son préfixe ou sa valeur de suffixe se chevauchent avec les informations de configuration de notification existantes sur votre compartiment S3. Cela peut se produire lorsque vous :

  • re-créez une notification d'événement S3 que vous avez supprimée récemment ;
  • créez des notifications d'événements S3 pour plusieurs événements qui se chevauchent à l'aide de préfixes ou de suffixes qui se chevauchent.

Remarque : les configurations de notification d'événement S3 autorisent les événements qui se chevauchent avec des préfixes ou des suffixes qui ne se chevauchent pas, ainsi que les événements qui ne se chevauchent pas avec des préfixes ou des suffixes qui se chevauchent.

Pour plus d'informations et d'exemples, consultez How to Enable Event Notifications et Configuring Notifications with Object Key Name Filtering.

Solution

Ensuite, procédez comme suit :

Ensuite, effectuez l'une des actions suivantes :

Suppression d'un événement qui se chevauche

Dans la console Amazon S3, supprimez une notification d'événement qui chevauche celle que vous essayez de créer.

Vous pouvez également mettre à jour le fichier JSON de configuration des notifications sur votre compartiment S3 en exécutant la commande put-bucket-notification-configuration de l'interface de ligne de commande AWS.

Reconfiguration de la nouvelle notification

Modifiez la dénomination de la clé d'objet de l’espace de noms de votre compartiment S3 afin d'autoriser plusieurs événements qui se chevauchent avec des préfixes qui ne se chevauchent pas. Par exemple, vous pouvez spécifier que les objets d'événement qui se chevauchent, tels que les images chargées, utilisent un autre dossier de compartiment S3 (préfixe) en fonction du type de fichier image (suffixe) :

  • S3://mybucket/uploadedJPEG
  • S3://mybucket/uploadedGIF

Refonte pour votre cas d'utilisation

Si vous ne pouvez pas reconfigurer votre notification d'événement S3 pour éviter le chevauchement, essayez de repenser votre architecture pour contourner ce problème. Exemples :

Conseil : pour une architecture et des processus plus complexes, utilisez une machine d'état AWS Step Functions pour concevoir et gérer votre flux de travail. Pour plus d'informations, consultez les cas d'utilisation AWS Step Functions et les didacticiels .