Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Configuration des notifications d’événement à l’aide du filtrage des noms de clé d’objet

Mode de mise au point
Configuration des notifications d’événement à l’aide du filtrage des noms de clé d’objet - Amazon Simple Storage Service

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.

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.

Lorsque vous configurez une notification d’événements Amazon S3, vous devez spécifier quels types d’événements Amazon S3 pris en charge entraînent l’envoi de la notification par Amazon S3. Si un type d’événement que vous n’avez pas spécifié se produit dans votre compartiment S3, Amazon S3 n’envoie pas de notification.

Vous pouvez configurer les notifications pour qu’elles soient filtrées en fonction du préfixe et du suffixe du nom de clé des objets. Par exemple, vous pouvez définir une configuration afin de ne recevoir une notification uniquement lorsque des fichiers image comportant l’extension de nom de fichier « .jpg » sont ajoutés à un compartiment. Vous pouvez également avoir une configuration qui envoie une notification à une rubrique Amazon SNS lorsqu'un objet avec le préfixe « images/ » est ajouté au compartiment, tandis que des notifications pour les objets ayant un préfixe « logs/ » dans le même compartiment sont envoyées à une fonction. AWS Lambda

Note

Les filtres n’acceptent pas de caractère générique (« * ») comme préfixe ou suffixe. Si votre préfixe ou suffixe contient un espace, vous devez le remplacer par le caractère « + ». Si vous utilisez un autre caractère spécial dans la valeur du préfixe ou du suffixe, vous devez les entrer au format codé en URL (encodage-pourcent). Pour obtenir la liste complète des caractères spéciaux qui doivent être convertis en format codé URL lorsqu’ils sont utilisés dans un préfixe ou un suffixe pour les notifications d’événements, consultez Caractères adaptés.

Ces configurations de notifications en fonction du nom de clé d’objet peuvent être définies dans la console Amazon S3. Vous pouvez le faire en utilisant Amazon S3 APIs via le REST AWS SDKs ou APIs directement. Pour en savoir plus sur l’utilisation de l’interface utilisateur de la console pour définir une configuration de notification pour un compartiment, consultez Activation et configuration des notifications d’événements à l’aide de la console Amazon S3.

Amazon S3 stocke la configuration des notifications au format XML dans la sous-ressource notification associée à un compartiment, comme décrit dans Utilisation d’Amazon SQS, Amazon SNS et Lambda. Pour définir les règles de filtrage des notifications en fonction du préfixe ou du suffixe du nom clé de l’objet, utilisez la structure XML Filter. Pour plus d’informations sur la structure XML Filter, consultez PUT Bucket notification dans la Référence d’API Amazon Simple Storage Service.

Lorsque les configurations de notifications utilisent Filter, les règles de filtrage ne doivent pas contenir de préfixes qui se chevauchent, de suffixes qui se chevauchent, ni de préfixes et suffixes qui se chevauchent. Les sections suivantes contiennent des exemples de configurations de notification valides avec filtrage des noms de clé d’objet. Elles proposent également des exemples de configurations de notification non valides en raison du chevauchement des préfixes et des suffixes.

Exemples corrects de configurations des notifications avec filtrage par nom de clé d’objet

La configuration des notifications ci-après comporte une configuration de file d’attente qui identifie une file d’attente Amazon SQS dans laquelle Amazon S3 doit publier les événements de type s3:ObjectCreated:Put. Les événements sont publiés chaque fois qu’un objet présentant un préfixe images/ et un suffixe jpg est ajouté dans un compartiment via une demande PUT.

<NotificationConfiguration> <QueueConfiguration> <Id>1</Id> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>images/</Value> </FilterRule> <FilterRule> <Name>suffix</Name> <Value>jpg</Value> </FilterRule> </S3Key> </Filter> <Queue>arn:aws:sqs:us-west-2:444455556666:s3notificationqueue</Queue> <Event>s3:ObjectCreated:Put</Event> </QueueConfiguration> </NotificationConfiguration>

La configuration de notifications ci-dessous comporte plusieurs préfixes qui ne se chevauchent pas. La configuration indique que les notifications associées aux demandes PUT du dossier images/ sont envoyées vers une file d’attente A (queue-A), alors que les notifications associées aux demandes PUT du dossier logs/ sont envoyées vers une file d’attente B (queue-B).

<NotificationConfiguration> <QueueConfiguration> <Id>1</Id> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>images/</Value> </FilterRule> </S3Key> </Filter> <Queue>arn:aws:sqs:us-west-2:444455556666:sqs-queue-A</Queue> <Event>s3:ObjectCreated:Put</Event> </QueueConfiguration> <QueueConfiguration> <Id>2</Id> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>logs/</Value> </FilterRule> </S3Key> </Filter> <Queue>arn:aws:sqs:us-west-2:444455556666:sqs-queue-B</Queue> <Event>s3:ObjectCreated:Put</Event> </QueueConfiguration> </NotificationConfiguration>

La configuration de notifications ci-dessous comporte plusieurs suffixes qui ne se chevauchent pas. La configuration définit que toutes les .jpg images récemment ajoutées au bucket sont traitées par Lambda cloud-function-A, et que toutes les .png images récemment ajoutées sont traitées par. cloud-function-B Les .jpg suffixes .png et ne se chevauchent pas même s'ils ont la même dernière lettre. Si une chaîne donnée peut se terminer par deux suffixes, on considère que les deux suffixes se chevauchent. Une chaîne ne pouvant se terminer par .png et .jpg, les suffixes de cet exemple de configuration ne se chevauchent pas.

<NotificationConfiguration> <CloudFunctionConfiguration> <Id>1</Id> <Filter> <S3Key> <FilterRule> <Name>suffix</Name> <Value>.jpg</Value> </FilterRule> </S3Key> </Filter> <CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-A</CloudFunction> <Event>s3:ObjectCreated:Put</Event> </CloudFunctionConfiguration> <CloudFunctionConfiguration> <Id>2</Id> <Filter> <S3Key> <FilterRule> <Name>suffix</Name> <Value>.png</Value> </FilterRule> </S3Key> </Filter> <CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-B</CloudFunction> <Event>s3:ObjectCreated:Put</Event> </CloudFunctionConfiguration> </NotificationConfiguration>

Lorsque vos configurations de notifications utilisent Filter, les règles de filtrage associées à des types d’événements identiques ne doivent pas contenir de préfixes qui se chevauchent. Ils ne peuvent le faire que si les préfixes qui se chevauchent sont utilisés avec des suffixes qui ne se chevauchent pas. Dans l’exemple de configuration ci-dessous, nous voyons que des objets créés avec un préfixe commun, mais dont les suffixes ne se chevauchent pas, peuvent être envoyés vers différentes destinations.

<NotificationConfiguration> <CloudFunctionConfiguration> <Id>1</Id> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>images</Value> </FilterRule> <FilterRule> <Name>suffix</Name> <Value>.jpg</Value> </FilterRule> </S3Key> </Filter> <CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-A</CloudFunction> <Event>s3:ObjectCreated:Put</Event> </CloudFunctionConfiguration> <CloudFunctionConfiguration> <Id>2</Id> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>images</Value> </FilterRule> <FilterRule> <Name>suffix</Name> <Value>.png</Value> </FilterRule> </S3Key> </Filter> <CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-B</CloudFunction> <Event>s3:ObjectCreated:Put</Event> </CloudFunctionConfiguration> </NotificationConfiguration>

Exemples de configurations des notifications avec chevauchement incorrect des préfixes et des suffixes

Lorsque vos configurations de notifications utilisent Filter, dans la majorité des cas, les règles de filtrage associées à des types d’événements identiques ne doivent pas contenir de préfixes qui se chevauchent, de suffixes qui se chevauchent, ni de combinaisons de préfixes et de suffixes qui se chevauchent. Elles peuvent toutefois comporter des préfixes qui se chevauchent, à condition que les suffixes ne se chevauchent pas. Pour obtenir un exemple, consultez Configuration des notifications d’événement à l’aide du filtrage des noms de clé d’objet.

En revanche, il est possible d’utiliser des filtres par nom de clé d’objet qui se chevauchent lorsque les types d’événements sont différents. Par exemple, vous pouvez créer une configuration de notifications qui utilise le préfixe image/ pour le type d’événement ObjectCreated:Put et le préfixe image/ pour le type d’événement ObjectRemoved:*.

Que vous utilisiez la console Amazon S3 ou l’API, si vous tentez d’enregistrer une configuration des notifications comportant des filtres de nom non valides qui se chevauchent pour les mêmes types d’événements, vous obtenez un message d’erreur. Cette section présente des exemples de configurations des notifications incorrectes, en raison du chevauchement des filtres de nom.

Toute règle de configuration des notifications existante est supposée comporter un préfixe et un suffixe par défaut qui correspondent respectivement à n’importe quel autre préfixe et suffixe. La configuration des notifications ci-dessous est incorrecte, car elle comporte des préfixes qui se chevauchent. Plus précisément, le préfixe racine chevauche n’importe quel autre préfixe. Cela est également vrai si, dans cet exemple, vous utilisiez un suffixe en lieu et place d’un préfixe. Le suffixe racine chevaucherait également n’importe quel autre suffixe.

<NotificationConfiguration> <TopicConfiguration> <Topic>arn:aws:sns:us-west-2:444455556666:sns-notification-one</Topic> <Event>s3:ObjectCreated:*</Event> </TopicConfiguration> <TopicConfiguration> <Topic>arn:aws:sns:us-west-2:444455556666:sns-notification-two</Topic> <Event>s3:ObjectCreated:*</Event> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>images</Value> </FilterRule> </S3Key> </Filter> </TopicConfiguration> </NotificationConfiguration>

La configuration des notifications ci-dessous est incorrecte, car elle comporte des suffixes qui se chevauchent. Si une chaîne donnée peut se terminer par deux suffixes, on considère que les deux suffixes se chevauchent. Une chaîne peut se terminer par jpg et pg. Ainsi, les suffixes se chevauchent. Il en va de même pour les préfixes. Si une chaîne donnée peut commencer par deux préfixes, on considère que les deux préfixes se chevauchent.

<NotificationConfiguration> <TopicConfiguration> <Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-one</Topic> <Event>s3:ObjectCreated:*</Event> <Filter> <S3Key> <FilterRule> <Name>suffix</Name> <Value>jpg</Value> </FilterRule> </S3Key> </Filter> </TopicConfiguration> <TopicConfiguration> <Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-two</Topic> <Event>s3:ObjectCreated:Put</Event> <Filter> <S3Key> <FilterRule> <Name>suffix</Name> <Value>pg</Value> </FilterRule> </S3Key> </Filter> </TopicConfiguration> </NotificationConfiguration

La configuration des notifications ci-dessous est incorrecte, car elle comporte des préfixes et des suffixes qui se chevauchent.

<NotificationConfiguration> <TopicConfiguration> <Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-one</Topic> <Event>s3:ObjectCreated:*</Event> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>images</Value> </FilterRule> <FilterRule> <Name>suffix</Name> <Value>jpg</Value> </FilterRule> </S3Key> </Filter> </TopicConfiguration> <TopicConfiguration> <Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-two</Topic> <Event>s3:ObjectCreated:Put</Event> <Filter> <S3Key> <FilterRule> <Name>suffix</Name> <Value>jpg</Value> </FilterRule> </S3Key> </Filter> </TopicConfiguration> </NotificationConfiguration>
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.