

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.

# Utilisation d’Amazon SQS, Amazon SNS et Lambda
<a name="how-to-enable-disable-notification-intro"></a>

L’activation des notifications s’effectue au niveau du compartiment. Vous stockez les informations de configuration de la notification dans la sous-ressource *notification* qui est associée à un compartiment. Après avoir créé ou modifié la configuration de notification du compartiment, il faut généralement attendre 5 minutes pour que les modifications prennent effet. Lorsque la notification est activée pour la première fois, un événement `s3:TestEvent` se produit. Suivez l’une des méthodes suivantes pour gérer la configuration des notifications :
+ **Via la console Amazon S3** – Vous pouvez utilisez l’interface de la console pour définir une configuration de notifications pour un compartiment sans écrire de code. Pour de plus amples informations, veuillez consulter [Activation et configuration des notifications d’événements à l’aide de la console Amazon S3](enable-event-notifications.md).
+ **À l'aide de la programmation AWS SDKs** : en interne, à la fois la console et l' SDKs appel de l'API REST Amazon S3 pour gérer les sous-ressources de *notification* associées au compartiment. Pour des exemples de configuration des notifications qui utilisent le kit AWS SDK, consultez [Démonstration : configuration d’un compartiment pour les notifications (rubrique SNS ou file d’attente SQS)](ways-to-add-notification-config-to-bucket.md).
**Note**  
Vous pouvez aussi appeler l’API REST Amazon S3 directement depuis votre code. Toutefois, cette méthode peut s’avérer fastidieuse, car vous devez écrire du code pour authentifier vos demandes. 

Quelle que soit la méthode que vous utilisez, Amazon S3 stocke la configuration des notifications au format XML dans la sous-ressource *notification* qui est associée au compartiment. Pour plus d’informations sur les sous-ressources de compartiment, consultez [Options de configuration des compartiments à usage général](UsingBucket.md#bucket-config-options-intro).

**Note**  
Si vous recevez plusieurs notifications d’échec d’événement dues à la suppression de destinations, vous pouvez recevoir le message **Unable to validate the following destination configurations** (Impossible de valider les configurations de destination suivantes) lorsque vous essayez de les supprimer. Vous pouvez résoudre ce problème dans la console S3 en supprimant simultanément toutes les notifications d’échec.

**Topics**
+ [Octroi d’autorisations pour la publication de messages de notification d’événement vers une destination](grant-destinations-permissions-to-s3.md)
+ [Activation et configuration des notifications d’événements à l’aide de la console Amazon S3](enable-event-notifications.md)
+ [Configuration des notifications d’événements par programmation](#event-notification-configuration)
+ [Démonstration : configuration d’un compartiment pour les notifications (rubrique SNS ou file d’attente SQS)](ways-to-add-notification-config-to-bucket.md)
+ [Configuration des notifications d’événement à l’aide du filtrage des noms de clé d’objet](notification-how-to-filtering.md)
+ [Structure des messages d’événements](notification-content-structure.md)

## Configuration des notifications d’événements par programmation
<a name="event-notification-configuration"></a>

Par défaut, les notifications sont désactivées pour tous les types d’événements. Par conséquent, la sous-ressource *notification* stocke initialement une configuration vide.

```
<NotificationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
</NotificationConfiguration>
```

Pour activer les notifications pour certains types d’événements, vous devez remplacer le fichier XML par la configuration appropriée, qui identifie les types d’événements que doit publier Amazon S3, ainsi que leurs destinations. Vous devez ajouter une configuration XML pour chaque destination. 

**Publication des messages d’événement dans une file d’attente SQS**  
Pour définir une file d’attente SQS comme destination de notification pour un ou plusieurs types d’événements, ajoutez l’élément `QueueConfiguration`.

```
<NotificationConfiguration>
  <QueueConfiguration>
    <Id>{{optional-id-string}}</Id>
    <Queue>{{sqs-queue-arn}}</Queue>
    <Event>{{event-type}}</Event>
    <Event>{{event-type}}</Event>
     ...
  </QueueConfiguration>
   ...
</NotificationConfiguration>
```

**Publication des messages d’événement dans une rubrique SNS**  
Pour définir une rubrique SNS comme destination de notification pour des types d’événements spécifiques, ajoutez l’élément `TopicConfiguration`.

```
<NotificationConfiguration>
  <TopicConfiguration>
     <Id>{{optional-id-string}}</Id>
     <Topic>{{sns-topic-arn}}</Topic>
     <Event>{{event-type}}</Event>
     <Event>{{event-type}}</Event>
      ...
  </TopicConfiguration>
   ...
</NotificationConfiguration>
```

**Pour appeler la AWS Lambda fonction et fournir un message d'événement en tant qu'argument**  
Pour définir une fonction Lambda comme destination de notification pour des types d’événements spécifiques, ajoutez l’élément `CloudFunctionConfiguration`.

```
<NotificationConfiguration>
  <CloudFunctionConfiguration>   
     <Id>{{optional-id-string}}</Id>   
     <CloudFunction>{{cloud-function-arn}}</CloudFunction>        
     <Event>{{event-type}}</Event>      
     <Event>{{event-type}}</Event>      
      ...  
  </CloudFunctionConfiguration>
   ...
</NotificationConfiguration>
```

**Suppression de toute les notifications configurées pour un compartiment**  
Pour supprimer toutes les notifications configurées pour un compartiment, enregistrez un élément `<NotificationConfiguration/>` vide dans la sous-ressource *notification*. 

Lorsque Amazon S3 détecte un événement qui appartient au type spécifié, il publie un message contenant les informations relatives à cet événement. Pour plus d’informations, consultez [Structure des messages d’événements](notification-content-structure.md). 

Pour plus d’informations sur la configuration des notifications d’événements, consultez les rubriques suivantes : 
+ [Démonstration : configuration d’un compartiment pour les notifications (rubrique SNS ou file d’attente SQS)](ways-to-add-notification-config-to-bucket.md).
+ [Configuration des notifications d’événement à l’aide du filtrage des noms de clé d’objet](notification-how-to-filtering.md)