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 ?

Dernière mise à jour : 11-01-2021

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

L'erreur Configuration is ambiguously defined se produit lorsque les informations d'événement d'une notification et son préfixe ou suffixe se chevauchent avec la configuration de notificationd'un compartiment S3.

L'erreur peut se produire lorsque vous effectuez l'une des opérations suivantes :

  • 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 Amazon S3 autorisent les événements qui se chevauchent avec des préfixes ou des suffixes qui ne se chevauchent pas. Les configurations permettent également des é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 Comment activer les notifications d'événement et Configuration des notifications avec filtrage des noms de clé d'objet.

Résolution

Remarque : Si vous recevez des erreurs lors de l'exécution de commandes depuis l'interface de ligne de commande AWS (AWS CLI), vérifiez que vous utilisez la version la plus récente d'AWS CLI.

Effectuez l'une ou l'autre des opérations suivantes :

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.

-ou-

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, pour 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.