

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.

# Didacticiels S3 Object Lambda
<a name="olap-tutorials"></a>

**Note**  
Depuis le 7 novembre 2025, S3 Object Lambda n'est disponible que pour les clients existants qui utilisent actuellement le service, ainsi que pour certains AWS partenaires du réseau de partenaires (APN). Pour des fonctionnalités semblables à celles de S3 Object Lambda, cliquez ici : [Modification de la disponibilité d’Amazon S3 Object Lambda](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazons3-ol-change.html).

Les didacticiels suivants présentent end-to-end des procédures complètes pour certaines tâches S3 Object Lambda.

Avec S3 Object Lambda, vous pouvez ajouter votre propre code pour traiter les données récupérées à partir de S3 avant de les renvoyer vers une application. Chacun des didacticiels suivants modifie les données au fur et à mesure qu’elles sont extraites d’Amazon S3, sans modifier l’objet existant ni conserver plusieurs copies des données. Le premier didacticiel expliquera comment ajouter une AWS Lambda fonction à une requête GET S3 pour modifier un objet extrait de S3. Le deuxième didacticiel montre comment utiliser une fonction Lambda prédéfinie basée sur Amazon Comprehend pour protéger les données d’identification personnelle (PII) récupérées à partir de S3 avant de les renvoyer à une application. Le troisième didacticiel utilise S3 Object Lambda pour ajouter un filigrane à une image telle qu’elle est extraite d’Amazon S3.
+ [Didacticiel : Transformation de données pour votre application avec S3 Object Lambda](tutorial-s3-object-lambda-uppercase.md)
+ [Didacticiel : Détecter et expurger des PII avec S3 Object Lambda et Amazon Comprehend](tutorial-s3-object-lambda-redact-pii.md)
+ [Tutoriel : Utilisation de S3 Object Lambda pour filigraner dynamiquement des images au fur et à mesure de leur récupération](https://aws.amazon.com/getting-started/hands-on/amazon-s3-object-lambda-to-dynamically-watermark-images/?ref=docs_gateway/amazons3/olap-tutorials.html)

# Didacticiel : Transformation de données pour votre application avec S3 Object Lambda
<a name="tutorial-s3-object-lambda-uppercase"></a>

**Note**  
Depuis le 7 novembre 2025, S3 Object Lambda n'est disponible que pour les clients existants qui utilisent actuellement le service, ainsi que pour certains AWS partenaires du réseau de partenaires (APN). Pour des fonctionnalités semblables à celles de S3 Object Lambda, cliquez ici : [Modification de la disponibilité d’Amazon S3 Object Lambda](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazons3-ol-change.html).

Lorsque vous stockez des données dans Amazon S3, vous pouvez facilement les partager pour utilisation par plusieurs applications. Cependant, chaque application peut avoir des exigences de format de données uniques et nécessiter une modification ou un traitement de vos données pour un cas d’utilisation particulier. Par exemple, un jeu de données créé par une application de commerce électronique peut inclure des données d’identification personnelle (PII). Lorsque les mêmes données sont traitées à des fins analytiques, ces DCPI ne sont pas nécessaires et doivent être supprimées. Toutefois, si le même jeu de données est utilisé pour une campagne marketing, vous devrez peut-être enrichir les données avec des détails supplémentaires, comme des informations provenant de la base de données de fidélisation des clients.

Avec [S3 Object Lambda](https://aws.amazon.com/s3/features/object-lambda), vous pouvez ajouter votre propre code pour traiter les données récupérées à partir de S3 avant de les renvoyer vers une application. Plus précisément, vous pouvez configurer une AWS Lambda fonction et l'associer à un point d'accès Lambda S3 Object. Lorsqu’une application envoie des [demandes S3 GET standard](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) via le point d’accès S3 Object Lambda, la fonction Lambda spécifiée est invoquée pour traiter toutes les données extraites de la source de données sous-jacente du point d’accès S3 compatible. Ensuite, le point d’accès S3 Object Lambda renvoie le résultat transformé à l’application. Vous pouvez créer et exécuter vos propres fonctions Lambda personnalisées, en adaptant la transformation des données S3 Object Lambda à votre cas d’utilisation particulier, sans devoir modifier vos applications.

![\[Diagramme de flux de travail S3 Object Lambda.\]](http://docs.aws.amazon.com/fr_fr/AmazonS3/latest/userguide/images/ol-example-image-global.png)


**Objectif**  
Dans ce didacticiel, vous apprendrez à ajouter du code personnalisé aux demandes GET S3 standard pour modifier l’objet demandé récupéré à partir de S3 afin que l’objet réponde aux besoins du client ou de l’application demandeur. Plus précisément, vous apprendrez à transformer en majuscules tout le texte de l’objet original stocké dans un compartiment S3 grâce à S3 Object Lambda. 

**Note**  
Ce didacticiel utilise le code Python pour transformer les données. Pour des exemples, AWS SDKs voir [Transformer des données pour votre application avec S3 Object Lambda](https://docs.aws.amazon.com/code-library/latest/ug/lambda_example_cross_ServerlessS3DataTransformation_section.html) dans la bibliothèque d'exemples de code du AWS SDK. 

**Topics**
+ [Conditions préalables](#ol-upper-prerequisites)
+ [Étape 1 : créer un compartiment S3](#ol-upper-step1)
+ [Étape 2 : charger un fichier dans le compartiment S3](#ol-upper-step2)
+ [Étape 3 : créer un point d’accès S3](#ol-upper-step3)
+ [Étape 4 : créer une fonction Lambda](#ol-upper-step4)
+ [Étape 5 : configurer une politique IAM pour le rôle d’exécution de votre fonction Lambda](#ol-upper-step5)
+ [Étape 6 : créer un point d’accès S3 Object Lambda](#ol-upper-step6)
+ [Étape 7 : afficher les données transformées](#ol-upper-step7)
+ [Étape 8 : nettoyer](#ol-upper-step8)
+ [Étapes suivantes](#ol-upper-next-steps)

## Conditions préalables
<a name="ol-upper-prerequisites"></a>

Avant de commencer ce didacticiel, vous devez disposer d'un utilisateur Compte AWS auquel vous pouvez vous connecter en tant qu'utilisateur Gestion des identités et des accès AWS (IAM) avec les autorisations appropriées. Vous devez également installer Python 3.8 ou version ultérieure.

**Topics**
+ [Créez un utilisateur IAM avec des autorisations dans votre Compte AWS (console)](#ol-upper-prerequisites-account)
+ [Installez Python 3.8 ou version ultérieure sur votre machine locale](#ol-upper-prerequisites-python)

### Créez un utilisateur IAM avec des autorisations dans votre Compte AWS (console)
<a name="ol-upper-prerequisites-account"></a>

Vous pouvez créer un utilisateur IAM pour le didacticiel. Pour terminer ce didacticiel, votre utilisateur IAM doit joindre les politiques IAM suivantes pour accéder aux AWS ressources pertinentes et effectuer des actions spécifiques. Pour en savoir plus sur la création d’un utilisateur IAM, consultez [Créer des utilisateurs IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) dans le *guide de l’utilisateur IAM*.

Votre utilisateur IAM requiert les politiques suivantes :
+ [AmazonS3 FullAccess — Accorde](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor) des autorisations pour toutes les actions Amazon S3, y compris les autorisations pour créer et utiliser un point d'accès Object Lambda. 
+ [AWSLambda\$1FullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLambda_FullAccess$jsonEditor)— Accorde des autorisations à toutes les actions Lambda. 
+ [IAMFullAccès](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/IAMFullAccess$jsonEditor) : accorde des autorisations à toutes les actions IAM. 
+ [IAMAccessAnalyzerReadOnlyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/IAMAccessAnalyzerReadOnlyAccess$jsonEditor)— Accorde l'autorisation de lire toutes les informations d'accès fournies par IAM Access Analyzer. 
+ [CloudWatchLogsFullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/CloudWatchLogsFullAccess$jsonEditor)— Accorde un accès complet aux CloudWatch journaux. 

**Note**  
Pour des raisons de simplicité, ce didacticiel crée et utilise un utilisateur IAM. Après avoir terminé ce didacticiel, n’oubliez pas de [Supprimer l’utilisateur IAM](#ol-upper-step8-delete-user). Pour une utilisation en production, nous vous recommandons de suivre les [Bonnes pratiques de sécurité dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dans le *Guide de l’utilisateur IAM*. Une bonne pratique requiert que les utilisateurs humains utilisent une fédération avec un fournisseur d’identité pour accéder à AWS avec des informations d’identification temporaires. Une autre bonne pratique consiste à exiger que les charges de travail utilisent des informations d’identification temporaires avec des rôles IAM pour accéder à AWS. Pour en savoir plus sur l'utilisation AWS IAM Identity Center pour créer des utilisateurs avec des informations d'identification temporaires, voir [Getting started](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) dans le *guide de AWS IAM Identity Center l'utilisateur*.   
Ce didacticiel utilise des politiques gérées par AWS à accès complet. Pour utilisation en production, nous vous recommandons d’accorder uniquement les autorisations minimales nécessaires à votre cas d’utilisation, conformément aux [Bonnes pratiques de sécurité](security-best-practices.md#security-best-practices-prevent).

### Installez Python 3.8 ou version ultérieure sur votre machine locale
<a name="ol-upper-prerequisites-python"></a>

Utilisez la procédure suivante pour installer Python 3.8 ou version ultérieure sur votre machine locale. Pour obtenir des instructions sur l’installation, consultez la page [Télécharger Python](https://wiki.python.org/moin/BeginnersGuide/Download) dans le *Guide du débutant de Python*.

1. Ouvrez votre terminal ou shell local, puis exécutez la commande suivante afin de déterminer si Python est déjà installé et, si oui, quelle version est installée. 

   ```
   python --version
   ```

1. Si Python 3.8 ou version ultérieure n’est pas installé, téléchargez le [programme d’installation officiel](https://www.python.org/downloads/) de Python 3.8 ou version ultérieure qui convient à votre machine locale. 

1. Exécutez le programme d’installation en double-cliquant sur le fichier téléchargé, puis suivez les étapes pour achever l’installation. 

   Pour les **utilisateurs Windows**, choisissez **Ajouter Python 3.X au PATH** dans l’assistant d’installation avant de choisir **Installer maintenant**. 

1. Redémarrez votre terminal en le fermant et en le rouvrant. 

1. Exécutez la commande suivante pour vérifier que Python 3.8 ou version ultérieure est installé correctement. 

   Pour les **utilisateurs macOS**, exécutez cette commande : 

   ```
   python3 --version
   ```

   Pour les **utilisateurs Windows**, exécutez cette commande : 

   ```
   python --version
   ```

1. Exécutez les commandes suivantes pour vérifier que le gestionnaire de paquets pip3 est installé. Si vous voyez un numéro de version pip et Python 3.8 ou version ultérieure dans la réponse de la commande, cela signifie que le gestionnaire de paquets pip3 est installé correctement.

   ```
   pip --version
   ```

## Étape 1 : créer un compartiment S3
<a name="ol-upper-step1"></a>

Créez un compartiment pour stocker les données originales que vous prévoyez de transformer. 

**Note**  
Des points d'accès peuvent être attachés à une autre source de données, telle qu'un volume Amazon FSx pour OpenZFS, mais ce didacticiel utilise un point d'accès auxiliaire attaché à un compartiment S3.

**Pour créer un compartiment**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Compartiments**.

1. Choisissez **Créer un compartiment**. 

   La page **Créer un compartiment** s'ouvre.

1. Pour **Nom du compartiment**, saisissez un nom (par exemple, **tutorial-bucket**) pour votre compartiment. 

   Pour en savoir plus sur les règles d'attribution de noms des compartiments Amazon S3, consultez [Règles de dénomination des compartiments à usage général](bucketnamingrules.md).

1. Pour **Région**, choisissez l' Région AWS endroit où vous souhaitez que le compartiment réside. 

   Pour en savoir plus sur les régions des compartiments, consultez [Présentation des compartiments à usage général](UsingBucket.md).

1. Pour **Paramètres de blocage de l'accès public à ce compartiment**, conservez les paramètres par défaut (**Bloquer *tout *accès public** est activé). 

   Nous vous recommandons de laisser tous les paramètres de blocage de l’accès public activés, sauf si vous devez en désactiver un ou plusieurs pour votre cas d’utilisation. Pour en savoir plus sur le blocage de l'accès public, consultez [Blocage de l’accès public à votre stockage Amazon S3](access-control-block-public-access.md).

1. Pour les paramètres restants, conservez les paramètres par défaut. 

   (Facultatif) Si vous souhaitez configurer des paramètres de compartiment supplémentaires pour votre cas d’utilisation particulier, consultez [Création d’un compartiment à usage général](create-bucket-overview.md).

1. Choisissez **Créer un compartiment**.

## Étape 2 : charger un fichier dans le compartiment S3
<a name="ol-upper-step2"></a>

Chargez un fichier texte dans le compartiment S3. Ce fichier texte contient les données originales que vous transformerez en majuscules plus tard dans ce didacticiel. 

Par exemple, vous pouvez charger un fichier `tutorial.txt` qui contient le texte suivant :

```
Amazon S3 Object Lambda Tutorial:
You can add your own code to process data retrieved from S3 before 
returning it to an application.
```

**Charger un fichier dans un compartiment**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Compartiments**.

1. Dans la liste **Compartiments**, choisissez le nom du compartiment que vous avez créé à l'[étape 1](#ol-upper-step1) (par exemple, **tutorial-bucket**) pour y charger votre fichier.

1. Sous l’onglet **Objets** de votre compartiment, choisissez **Charger**.

1. Dans la page **Charger**, sous **Fichiers et dossiers**, choisissez **Ajouter des fichiers**.

1. Choisissez un fichier à charger, puis choisissez **Ouvrir**. Par exemple, vous pouvez charger le fichier `tutorial.txt` mentionné précédemment.

1. Choisissez **Charger**.

## Étape 3 : créer un point d’accès S3
<a name="ol-upper-step3"></a>

Pour utiliser un point d’accès S3 Object Lambda afin d’accéder aux données originales et de les transformer, vous devez créer un point d’accès S3 et l’associer au compartiment S3 que vous avez créé à l’[étape 1](#ol-upper-step1). Le point d'accès doit se trouver dans le même Région AWS emplacement que les objets que vous souhaitez transformer.

Plus loin dans ce didacticiel, vous utiliserez ce point d’accès comme point d’accès de prise en charge pour votre point d’accès Object Lambda. 

**Créer un point d’accès**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation, choisissez **Points d’accès**.

1. Dans la page **Points d’accès**, choisissez **Créer un point d’accès**.

1. Dans le champ **Nom du point d’accès**, saisissez le nom (par exemple, **tutorial-access-point**) du point d’accès.

   Pour en savoir plus sur l’attribution de noms aux points d’accès, consultez [Règles de dénomination des points d’accès](access-points-restrictions-limitations-naming-rules.md#access-points-names).

1. Dans le champ **Source de données**, saisissez le nom du compartiment que vous avez créé à l’[étape 1](#ol-upper-step1) (par exemple, **tutorial-bucket**). S3 attache le point d’accès à ce compartiment. 

   (Facultatif) Vous pouvez choisir **Parcourir S3** pour parcourir et rechercher les compartiments inclus dans votre compte. Si vous choisissez **Parcourir S3**, choisissez le compartiment souhaité, puis choisissez **Choisir un chemin** pour renseigner le champ **Nom du compartiment** avec le nom de ce compartiment.

1. Pour **Origine du réseau**, choisissez **Internet**. 

   Pour en savoir plus sur les origines de réseau des points d’accès, consultez [Création de points d’accès restreints à un virtual private cloud](access-points-vpc.md).

1. Par défaut, tous les paramètres de blocage d’accès public sont activés pour votre point d’accès. Nous vous recommandons de conserver l’option **Bloquer *tous* les accès publics** activée.

   Pour en savoir plus, consultez [Gestion de l’accès public aux points d’accès de compartiments à usage général](access-points-bpa-settings.md).

1. Pour tous les autres paramètres de point d’accès, conservez les paramètres par défaut.

   (Facultatif) Vous pouvez modifier les paramètres du point d’accès afin de prendre en charge votre cas d’utilisation. Pour ce didacticiel, nous vous recommandons de conserver les paramètres par défaut. 

   (Facultatif) Si vous devez gérer l’accès à votre point d’accès, vous pouvez indiquer une politique de point d’accès. Pour plus d’informations, consultez [Exemples de stratégies de points d’accès](access-points-policies.md#access-points-policy-examples). 

1. Choisissez **Créer un point d’accès**.

## Étape 4 : créer une fonction Lambda
<a name="ol-upper-step4"></a>

Pour transformer des données originales, créez une fonction Lambda à utiliser avec votre point d’accès S3 Object Lambda. 

**Topics**
+ [Écrire le code d’une fonction Lambda et créer un package de déploiement avec un environnement virtuel](#ol-upper-step4-write-lambda)
+ [Créer une fonction Lambda à l’aide d’un rôle d’exécution (console)](#ol-upper-step4-create-function)
+ [Déployez le code de votre fonction Lambda avec les archives du fichier .zip et configurez la fonction Lambda (console)](#ol-upper-step4-deploy-function)

### Écrire le code d’une fonction Lambda et créer un package de déploiement avec un environnement virtuel
<a name="ol-upper-step4-write-lambda"></a>

1. Sur votre ordinateur local, créez un dossier avec le nom du dossier `object-lambda` afin que l’environnement virtuel puisse l’utiliser ultérieurement dans ce didacticiel.

1. Dans le dossier `object-lambda`, créez un fichier avec une fonction Lambda qui change tout le texte de l’objet original en majuscules. Par exemple, vous pouvez utiliser la fonction suivante écrite en langage Python. Enregistrez cette fonction dans un fichier nommé `transform.py`. 

   ```
   import boto3
   import requests
   from botocore.config import Config
   
   # This function capitalizes all text in the original object
   def lambda_handler(event, context):
       object_context = event["getObjectContext"]
       # Get the presigned URL to fetch the requested original object 
       # from S3
       s3_url = object_context["inputS3Url"]
       # Extract the route and request token from the input context
       request_route = object_context["outputRoute"]
       request_token = object_context["outputToken"]
       
       # Get the original S3 object using the presigned URL
       response = requests.get(s3_url)
       original_object = response.content.decode("utf-8")
   
       # Transform all text in the original object to uppercase
       # You can replace it with your custom code based on your use case
       transformed_object = original_object.upper()
   
       # Write object back to S3 Object Lambda
       s3 = boto3.client('s3', config=Config(signature_version='s3v4'))
       # The WriteGetObjectResponse API sends the transformed data
       # back to S3 Object Lambda and then to the user
       s3.write_get_object_response(
           Body=transformed_object,
           RequestRoute=request_route,
           RequestToken=request_token)
   
       # Exit the Lambda function: return the status code  
       return {'status_code': 200}
   ```
**Note**  
L’exemple précédent de fonction Lambda charge l’ensemble de l’objet demandé en mémoire avant de le transformer et de le renvoyer au client. Vous pouvez autrement diffuser l’objet à partir de S3 pour éviter de charger l’intégralité de l’objet dans la mémoire. Cette approche peut être utile lorsque vous travaillez avec des objets volumineux. Pour en savoir plus sur le streaming des réponses avec des points d’accès Object Lambda, consultez les exemples de streaming dans [Utilisation de requêtes `GetObject` dans Lambda](olap-writing-lambda.md#olap-getobject-response).

   Lorsque vous écrivez une fonction Lambda à utiliser avec un point d’accès S3 Objet Lambda, la fonction est basée sur le contexte d’événement d’entrée que S3 Object Lambda fournit à la fonction Lambda. Le contexte de l’événement fournit des informations sur la demande effectuée dans l’événement transmis de S3 Object Lambda à Lambda. Il contient les paramètres que vous utiliserez pour créer la fonction Lambda.

   Les champs utilisés pour créer la fonction Lambda précédente sont les suivants : 

   Le champ de `getObjectContext` indique les détails d’entrée et de sortie pour les connexions à Amazon S3 et à S3 Object Lambda. Il comporte les champs suivants :
   + `inputS3Url` – Une URL présignée que la fonction Lambda peut utiliser pour télécharger l’objet original à partir du point d’accès de prise en charge. En utilisant une URL présignée, la fonction Lambda n’a pas besoin des autorisations de lecture Amazon S3 pour récupérer l’objet original et peut uniquement accéder à l’objet traité par chaque invocation.
   + `outputRoute` – Un jeton de routage qui est ajouté à l’URL S3 Object Lambda lorsque la fonction Lambda appelle `WriteGetObjectResponse` pour renvoyer l’objet transformé.
   + `outputToken` – Un jeton utilisé par S3 Object Lambda pour correspondre à l’appel `WriteGetObjectResponse` avec l’appelant original lors du renvoi de l’objet transformé.

   Pour en savoir plus sur tous les champs du contexte de l’événement, consultez [Format et utilisation du contexte d’événement](olap-event-context.md) et [Écriture de fonctions Lambda pour les points d’accès S3 Object Lambda](olap-writing-lambda.md).

1. Dans votre terminal local, saisissez la commande suivante pour installer le package `virtualenv` :

   ```
   python -m pip install virtualenv
   ```

1. Dans votre terminal local, ouvrez le dossier `object-lambda` que vous avez créé précédemment, puis saisissez la commande suivante pour créer et initialiser un environnement virtuel nommé `venv`.

   ```
   python -m virtualenv venv
   ```

1. Pour activer l’environnement virtuel, saisissez la commande suivante pour exécuter le fichier `activate` à partir du dossier de l’environnement :

   Pour les **utilisateurs macOS**, exécutez cette commande :

   ```
   source venv/bin/activate
   ```

   Pour les **utilisateurs Windows**, exécutez cette commande :

   ```
   .\venv\Scripts\activate
   ```

   Votre invite de commande change maintenant pour afficher **(venv)**, indiquant que l’environnement virtuel est actif.

1. Pour installer les bibliothèques requises, exécutez les commandes suivantes ligne par ligne dans l’`venv`environnement virtuel.

   Ces commandes installent des versions mises à jour des dépendances de votre `lambda_handler`fonction Lambda. Ces dépendances sont les AWS SDK for Python (Boto3) et le module des demandes.

   ```
   pip3 install boto3
   ```

   ```
   pip3 install requests
   ```

1. Pour désactiver l’environnement virtuel, exécutez la commande suivante :

   ```
   deactivate
   ```

1. Pour créer un package de déploiement avec les bibliothèques installées en tant que fichier `.zip` nommé `lambda.zip` à la racine du répertoire `object-lambda`, exécutez la commande les commandes ligne par ligne dans votre terminal local.
**Astuce**  
Les commandes suivantes peuvent nécessiter des ajustements pour fonctionner dans votre environnement particulier. Par exemple, une bibliothèque peut s’afficher dans `site-packages` ou dans `dist-packages`, et le premier dossier peut être `lib` ou `lib64`. En outre, il est possible de nommer le fichier `python` avec une version de Python différente. Vous pouvez utiliser la commande `pip show` pour localiser un package spécifique.

   Pour les **utilisateurs macOS**, exécutez les commandes suivantes :

   ```
   cd venv/lib/python3.8/site-packages 
   ```

   ```
   zip -r ../../../../lambda.zip .
   ```

   Pour les **utilisateurs Windows**, exécutez les commandes suivantes :

   ```
   cd .\venv\Lib\site-packages\ 
   ```

   ```
   powershell Compress-Archive * ../../../lambda.zip
   ```

   La dernière commande enregistre le package de déploiement à la racine du répertoire `object-lambda`.

1. Ajoutez le fichier de code de fonction `transform.py` à la racine de votre package de déploiement.

   Pour les **utilisateurs macOS**, exécutez les commandes suivantes :

   ```
   cd ../../../../ 
   ```

   ```
   zip -g lambda.zip transform.py
   ```

   Pour les **utilisateurs Windows**, exécutez les commandes suivantes : 

   ```
   cd ..\..\..\
   ```

   ```
   powershell Compress-Archive -update transform.py lambda.zip
   ```

   Lorsque vous aurez achevé cette étape, vous disposerez de la structure de répertoire suivante :

   ```
   lambda.zip$
     │ transform.py
     │ __pycache__
     | boto3/
     │ certifi/
     │ pip/
     │ requests/
     ...
   ```

### Créer une fonction Lambda à l’aide d’un rôle d’exécution (console)
<a name="ol-upper-step4-create-function"></a>

1. Connectez-vous à la AWS Lambda console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

   

1. Dans le volet de navigation de gauche, choisissez **Fonctions**.

1. Choisissez **Créer une fonction**.

1. Choisissez **Créer à partir de zéro**.

1. Sous **Informations de base**, procédez comme suit :

   1. Sous **Nom de la fonction**, saisissez **tutorial-object-lambda-function**.

   1. Pour **Exécution**, choisissez **Python 3.8** ou version ultérieure.

1. Développez la section **Changer le rôle d’exécution par défaut**. Sous **Rôle d’exécution**, choisissez **Créer un nouveau rôle avec les autorisations Lambda de base**.

   À [l'étape 5](#ol-upper-step5) plus loin dans ce didacticiel, vous associerez **AmazonS3 ObjectLambdaExecutionRolePolicy** au rôle d'exécution de cette fonction Lambda. 

1. Conservez les paramètres restants définis sur les valeurs par défaut.

1. Choisissez **Créer une fonction**.

### Déployez le code de votre fonction Lambda avec les archives du fichier .zip et configurez la fonction Lambda (console)
<a name="ol-upper-step4-deploy-function"></a>

1. Dans la AWS Lambda console [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/), sélectionnez **Functions** dans le volet de navigation de gauche. 

1. Choisissez la fonction Lambda que vous avez créée précédemment (par exemple, **tutorial-object-lambda-function**). 

1. Dans la page des détails de la fonction Lambda, choisissez l’onglet **Code**. Dans la section **Source du code**, choisissez **Charger à partir de**, puis **fichier .zip**.

1. Choisissez **Charger** pour sélectionner votre fichier `.zip` local.

1. Choisissez le fichier `lambda.zip` que vous avez créé précédemment, puis choisissez **Ouvrir**.

1. Choisissez **Enregistrer**.

1. Dans la section **Paramètres d’exécution**, choisissez **Modifier**. 

1. Dans la page **Modifier les paramètres d’exécution**, confirmez que **Exécution** est définie sur **Python 3.8** ou version ultérieure. 

1. Pour indiquer à l’exécution Lambda la méthode de gestionnaire dans votre code de fonction Lambda à invoquer, saisissez **transform.lambda\$1handler** pour **Gestionnaire**.

   Quand vous configurez une fonction dans Python, la valeur du paramètre de gestionnaire correspond au nom de fichier et au nom de module de gestionnaire, séparés par un point. Par exemple, `transform.lambda_handler` appelle la méthode `lambda_handler` définie dans le fichier `transform.py`.

1. Choisissez **Enregistrer**.

1. (Facultatif) Dans la page des détails de votre fonction Lambda, choisissez l’onglet **Configuration**. Dans le volet de navigation de gauche, choisissez **Configuration générale**, puis **Modifier**. Dans le champ **Délai d’expiration**, saisissez **1** min **0** s. Conservez les paramètres restants définis sur les valeurs par défaut, puis choisissez **Enregistrer**.

   Le **Délai d’expiration** est la durée que Lambda autorise pour l’exécution d’une fonction pour invocation avant de l’arrêter. Le durée par défaut est de 3 secondes. La durée maximale d’une fonction Lambda utilisée par S3 Object Lambda est de 60 secondes. La tarification est basée sur la quantité de mémoire configurée et la durée pendant laquelle votre code s’exécute.

## Étape 5 : configurer une politique IAM pour le rôle d’exécution de votre fonction Lambda
<a name="ol-upper-step5"></a>

Pour permettre à votre fonction Lambda de fournir des données personnalisées et des en-têtes de réponse à l’appelant `GetObject`, le rôle d’exécution de votre fonction Lambda doit disposer des autorisations IAM pour appeler l’API `WriteGetObjectResponse`.

**Pour attacher une politique IAM au rôle de votre fonction Lambda**



1. Dans la AWS Lambda console [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/), sélectionnez **Functions** dans le volet de navigation de gauche. 

1. Choisissez la fonction que vous avez créée à l’[étape 4](#ol-upper-step4) (par exemple, **tutorial-object-lambda-function**).

1. Dans la page des détails de votre fonction Lambda, choisissez l’onglet **Configuration**, puis **Autorisations** dans le volet de navigation de gauche. 

1. Sous **Rôle d’exécution**, cliquez sur le lien du **Nom de rôle**. La console IAM s’ouvre. 

1. Sur la page **Summary** (Résumé) de la console IAM pour le rôle d’exécution de votre fonction Lambda, choisissez l’onglet **Permissions** (Autorisations). Ensuite, dans le menu **Add Permissions** (Ajouter des autorisations), choisissez **Attach policies** (Attacher des politiques).

1. Dans la page **Attacher des autorisations**, saisissez **AmazonS3ObjectLambdaExecutionRolePolicy** dans le champ de recherche pour filtrer la liste des politiques. Cochez la case à côté du nom de la politique **AmazonS3 ObjectLambdaExecutionRolePolicy**. 

1. Choisissez **Attacher des politiques**. 

## Étape 6 : créer un point d’accès S3 Object Lambda
<a name="ol-upper-step6"></a>

Un point d’accès S3 Object Lambda offre la flexibilité d’invoquer une fonction Lambda directement à partir d’une demande GET S3 afin que la fonction puisse traiter les données récupérées à partir d’un point d’accès S3. Lors de la création et de la configuration d’un point d’accès S3 Object Lambda, vous devez indiquer la fonction Lambda à invoquer et fournir le contexte de l’événement au format JSON en tant que paramètres personnalisés à utiliser par Lambda.

**Créer un point d’accès S3 Object Lambda**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation de gauche, choisissez **Points d’accès Object Lambda**.

1. Dans la page **Points d'accès Object Lambda)**, choisissez **Créer un point d'accès Object Lambda)**.

1. Pour **Nom du point d’accès Lambda d’objet**, saisissez le nom que vous souhaitez utiliser pour le point d’accès Object Lambda (par exemple, **tutorial-object-lambda-accesspoint**). 

1. Pour **Point d’accès de prise en charge**, saisissez ou accédez au point d’accès standard que vous avez créé à l’[étape 3](#ol-upper-step3) (par exemple, **tutorial-access-point**), puis choisissez **Choisir un point d’accès de prise en charge**. 

1. Pour **S3 APIs**, pour récupérer des objets du compartiment S3 afin que la fonction Lambda les traite, sélectionnez. **GetObject**

1. Pour **invoquer une fonction Lambda**, vous pouvez choisir l’une des deux options suivantes de ce didacticiel. 
   + Sélectionnez **Choisir parmi les fonctions de votre compte**, puis choisissez la fonction Lambda que vous avez créée à l’[étape 4](#ol-upper-step4) (par exemple, **tutorial-object-lambda-function**) dans la liste déroulante **Fonction Lambda**.
   + Choisissez **Saisir l’ARN**, puis entrez l’Amazon Resource Name (ARN) de la fonction Lambda que vous avez créée à l’[étape 4](#ol-upper-step4).

1. Pour **Version de la fonction Lambda**, choisissez **\$1LATEST** (la dernière version de la fonction Lambda que vous avez créée à l’[étape 4](#ol-upper-step4)).

1. (Facultatif) Si vous avez besoin de votre fonction Lambda pour reconnaître et traiter les demandes GET avec des en-têtes de plage et de numéro de partie, sélectionnez **La fonction Lambda prend en charge les demandes utilisant la plage** et **La fonction Lambda prend en charge les demandes utilisant des numéros de partie**. Sinon, décochez ces deux cases.

   Pour en savoir plus sur l’utilisation des plages ou des numéros de pièce avec S3 Object Lambda, consultez [Utilisation des en-têtes Range et partNumber](range-get-olap.md).

1. (Facultatif) Sous **Charge utile – *facultatif***, ajoutez un texte JSON pour fournir des informations supplémentaires à votre fonction Lambda.

   Une charge utile est un texte JSON facultatif que vous pouvez fournir à votre fonction Lambda comme entrée pour toutes les invocations provenant d’un point d’accès S3 Object Lambda spécifique. Pour personnaliser les comportements de plusieurs points d’accès Object Lambda qui invoquent la même fonction Lambda, vous pouvez configurer des charges utiles avec différents paramètres, augmentant ainsi la flexibilité de votre fonction Lambda.

   Pour en savoir plus sur les charges utiles, consultez [Format et utilisation du contexte d’événement](olap-event-context.md).

1. (Facultatif) Pour **Métriques de demande – *facultatif***, choisissez **Activer** ou **Désactiver** pour ajouter une surveillance Amazon S3 à votre point d’accès Object Lambda. Les statistiques relatives aux demandes sont facturées au CloudWatch tarif standard d'Amazon. Pour en savoir plus, consultez [PricingCloudWatch](https://aws.amazon.com/cloudwatch/pricing/) (Tarification).

1. Sous **Politique de point d’accès Object Lambda – *facultatif***, conservez le paramètre par défaut. 

   (Facultatif) Vous pouvez définir une politique de ressource. Cette politique de ressource permet à l’autorisation d’API `GetObject` d’utiliser le point d’accès Object Lambda spécifié.

1. Conservez les paramètres restants définis sur les valeurs par défaut, puis choisissez **Créer un point d’accès Object Lambda**.

## Étape 7 : afficher les données transformées
<a name="ol-upper-step7"></a>

S3 Object Lambda est maintenant prêt à transformer vos données pour votre cas d’utilisation. Dans ce didacticiel, S3 Object Lambda transforme tout le texte de votre objet en majuscules.

**Topics**
+ [Afficher les données transformées dans votre point d’accès S3 Object Lambda](#ol-upper-step7-check-data)
+ [Exécuter un script Python pour imprimer les données originales et transformées](#ol-upper-step7-python-print)

### Afficher les données transformées dans votre point d’accès S3 Object Lambda
<a name="ol-upper-step7-check-data"></a>

Lorsque vous demandez de récupérer un fichier via votre point d’accès S3 Object Lambda, vous effectuez un appel d’API `GetObject` à S3 Object Lambda. S3 Object Lambda invoque la fonction Lambda pour transformer vos données, puis retourne les données transformées en réponse à l’appel d’API `GetObject` S3 standard.

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Points d'accès Object Lambda**.

1. Sur la page **Points d’accès Lambda d’objet**, choisissez le point d’accès S3 Object Lambda que vous avez créé à l’[étape 6](#ol-upper-step6) (par exemple, **tutorial-object-lambda-accesspoint**).

1. Dans l’onglet **Objets** de votre point d’accès S3 Object Lambda, sélectionnez le fichier portant le même nom (par exemple, `tutorial.txt`) comme celui que vous avez chargé dans le compartiment S3 à l’[étape 2](#ol-upper-step2). 

   Ce fichier doit contenir toutes les données transformées.

1. Pour afficher les données transformées, choisissez **Ouvrir** ou **Télécharger**.

### Exécuter un script Python pour imprimer les données originales et transformées
<a name="ol-upper-step7-python-print"></a>

Vous pouvez utiliser S3 Object Lambda avec vos applications existantes. Pour ce faire, mettez à jour la configuration de votre application pour utiliser le nouvel ARN du point d’accès S3 Object Lambda que vous avez créé à l’[étape 6](#ol-upper-step6) afin de récupérer des données depuis S3.

L’exemple de script Python suivant imprime à la fois les données originales à partir du compartiment S3 et les données transformées à partir du point d’accès S3 Object Lambda. 

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Points d'accès Object Lambda**.

1. Sur la page **Points d’accès Lambda d’objet**, choisissez le bouton radio situé à gauche du point d’accès S3 Object Lambda que vous avez créé à l’[étape 6](#ol-upper-step6) (par exemple, **tutorial-object-lambda-accesspoint**).

1. Choisissez **Copier l'ARN**.

1. Enregistrez l’ARN pour utilisation ultérieure.

1. Écrivez un script Python sur votre machine locale pour imprimer les données originales (par exemple, `tutorial.txt`) à partir de votre compartiment S3 et les données transformées (par exemple, `tutorial.txt`) à partir de votre point d’accès S3 Object Lambda. Vous pouvez utiliser l’exemple de script suivant. 

   ```
   import boto3
   from botocore.config import Config
   
   s3 = boto3.client('s3', config=Config(signature_version='s3v4'))
   
   def getObject(bucket, key):
       objectBody = s3.get_object(Bucket = bucket, Key = key)
       print(objectBody["Body"].read().decode("utf-8"))
       print("\n")
   
   print('Original object from the S3 bucket:')
   # Replace the two input parameters of getObject() below with 
   # the S3 bucket name that you created in Step 1 and 
   # the name of the file that you uploaded to the S3 bucket in Step 2
   getObject("tutorial-bucket", 
             "tutorial.txt")
   
   print('Object transformed by S3 Object Lambda:')
   # Replace the two input parameters of getObject() below with 
   # the ARN of your S3 Object Lambda Access Point that you saved earlier and
   # the name of the file with the transformed data (which in this case is
   # the same as the name of the file that you uploaded to the S3 bucket 
   # in Step 2)
   getObject("arn:aws:s3-object-lambda:us-west-2:111122223333:accesspoint/tutorial-object-lambda-accesspoint",
             "tutorial.txt")
   ```

1. Enregistrez votre script Python avec un nom personnalisé (par exemple, `tutorial_print.py`) dans le dossier (par exemple, `object-lambda`) que vous avez créé à l’[étape 4](#ol-upper-step4) sur votre machine locale.

1. Dans votre terminal local, exécutez la commande suivante à partir de la racine du répertoire (par exemple, `object-lambda`) que vous avez créé à l’[étape 4](#ol-upper-step4).

   ```
   python3 tutorial_print.py
   ```

   Vous devriez voir à la fois les données originales et les données transformées (tout le texte en majuscules) sur le terminal. Par exemple, vous devriez voir quelque chose ressemblant au texte suivant.

   ```
   Original object from the S3 bucket:
   Amazon S3 Object Lambda Tutorial:
   You can add your own code to process data retrieved from S3 before 
   returning it to an application.
   
   Object transformed by S3 Object Lambda:
   AMAZON S3 OBJECT LAMBDA TUTORIAL:
   YOU CAN ADD YOUR OWN CODE TO PROCESS DATA RETRIEVED FROM S3 BEFORE 
   RETURNING IT TO AN APPLICATION.
   ```

## Étape 8 : nettoyer
<a name="ol-upper-step8"></a>

Si vous avez transformé vos données via S3 Object Lambda comme un simple exercice d’apprentissage, supprimez les ressources AWS que vous avez allouées afin de ne plus accumuler de frais. 

**Topics**
+ [Supprimer le point d’accès Object Lambda](#ol-upper-step8-delete-olap)
+ [Supprimer le point d’accès S3](#ol-upper-step8-delete-ap)
+ [Supprimer le rôle d’exécution de votre fonction Lambda.](#ol-upper-step8-delete-lambda-role)
+ [Supprimer la fonction Lambda](#ol-upper-step8-delete-lambda-function)
+ [Supprimer le groupe de CloudWatch journaux](#ol-upper-step8-delete-cloudwatch)
+ [Supprimer le fichier original dans le compartiment source S3](#ol-upper-step8-delete-file)
+ [Supprimer le compartiment source S3](#ol-upper-step8-delete-bucket)
+ [Supprimer l’utilisateur IAM](#ol-upper-step8-delete-user)

### Supprimer le point d’accès Object Lambda
<a name="ol-upper-step8-delete-olap"></a>

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Points d'accès Object Lambda**.

1. Sur la page **Points d'accès Lambda d'objet**, choisissez le bouton radio situé à gauche du point d'accès S3 Object Lambda que vous avez créé à l'[étape 6](#ol-upper-step6) (par exemple, **tutorial-object-lambda-accesspoint**).

1. Choisissez **Supprimer**.

1. Confirmez que vous souhaitez supprimer votre point d’accès Object Lambda en saisissant son nom dans le champ de texte qui s’affiche, puis choisissez **Supprimer**.

### Supprimer le point d’accès S3
<a name="ol-upper-step8-delete-ap"></a>

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Points d'accès**.

1. Accédez au point d’accès que vous avez créé à l’[étape 3](#ol-upper-step3) (par exemple, **tutorial-access-point**), puis choisissez le bouton radio en regard du nom du point d’accès.

1. Choisissez **Supprimer**.

1. Confirmez que vous souhaitez supprimer votre point d’accès Object Lambda en saisissant son nom dans le champ de texte qui s’affiche, puis choisissez **Supprimer**.

### Supprimer le rôle d’exécution de votre fonction Lambda.
<a name="ol-upper-step8-delete-lambda-role"></a>

1. Connectez-vous à la AWS Lambda console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Dans le panneau de navigation de gauche, choisissez **Fonctions**.

1. Choisissez la fonction que vous avez créée à l'[étape 4](#ol-upper-step4) (par exemple, **tutorial-object-lambda-function**).

1. Dans la page des détails de votre fonction Lambda, choisissez l’onglet **Configuration**, puis **Autorisations** dans le volet de navigation de gauche. 

1. Sous **Rôle d’exécution**, cliquez sur le lien du **Nom de rôle**. La console IAM s'ouvre.

1. Dans la page **Récapitulatif** de la console IAM du rôle d’exécution de votre fonction Lambda, choisissez **Supprimer le rôle**.

1. Dans la boîte de dialogue **Supprimer le rôle**, choisissez **Oui, supprimer**.

### Supprimer la fonction Lambda
<a name="ol-upper-step8-delete-lambda-function"></a>

1. Dans la AWS Lambda console [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/), sélectionnez **Functions** dans le volet de navigation de gauche. 

1. Cochez la case à gauche du nom de la fonction que vous avez créée à l’[étape 4](#ol-upper-step4) (par exemple, **tutorial-object-lambda-function**).

1. Choisissez **Actions**, puis **Supprimer**.

1. Dans la boîte de dialogue **Supprimer une fonction**, choisissez **Supprimer**.

### Supprimer le groupe de CloudWatch journaux
<a name="ol-upper-step8-delete-cloudwatch"></a>

1. Ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Dans le volet de navigation de gauche, choisissez **Groupes de journaux**.

1. Recherchez le groupe de journaux dont le nom se termine par la fonction Lambda que vous avez créée à l’[étape 4](#ol-upper-step4) (par exemple, **tutorial-object-lambda-function**).

1. Cochez la case située à gauche du nom du groupe de journaux.

1. Choisissez **Actions**, puis **Supprimer le ou les groupes de journaux**.

1. Dans la boîte de dialogue **Supprimer le ou les groupes de journaux**, choisissez **Supprimer**.

### Supprimer le fichier original dans le compartiment source S3
<a name="ol-upper-step8-delete-file"></a>

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Compartiments**.

1. Dans la liste **Nom du compartiment**, choisissez le nom du compartiment vers lequel vous avez chargé le fichier original à l’[étape 2](#ol-upper-step2) (par exemple, **tutorial-bucket**).

1. Cochez la case située à gauche du nom de l’objet que vous souhaitez supprimer (par exemple, `tutorial.txt`).

1. Choisissez **Supprimer**.

1. Dans la page **Supprimer des objets**, dans la section **Supprimer définitivement les objets ?**, confirmez que vous souhaitez supprimer cet objet en saisissant **permanently delete** dans la zone de texte.

1. Choisissez **Supprimer les objets**.

### Supprimer le compartiment source S3
<a name="ol-upper-step8-delete-bucket"></a>

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Compartiments**.

1. Dans la liste **Compartiments**, choisissez le bouton radio en regard du nom du compartiment que vous avez créé à l’[étape 1](#ol-upper-step1) (par exemple, **tutorial-bucket**).

1. Choisissez **Supprimer**.

1. Dans la page **Supprimer le compartiment**, confirmez que vous souhaitez supprimer le compartiment en saisissant le nom de ce dernier dans le champ de texte, puis choisissez **Supprimer le compartiment**.

### Supprimer l’utilisateur IAM
<a name="ol-upper-step8-delete-user"></a>

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le volet de navigation, choisissez **Utilisateurs**, puis cochez la case en regard du nom de l’utilisateur à supprimer.

1. En haut de la page, choisissez **Supprimer**.

1. Dans le champ **Supprimer *user name* ?** boîte de dialogue, entrez le nom d'utilisateur dans le champ de saisie de texte pour confirmer la suppression de l'utilisateur. Choisissez **Supprimer**.

## Étapes suivantes
<a name="ol-upper-next-steps"></a>

Après avoir terminé ce didacticiel, vous pourrez personnaliser la fonction Lambda pour votre cas d’utilisation afin de modifier les données renvoyées par des demandes GET S3 standard.

Voici une liste de cas d’utilisation courants pour S3 Object Lambda :
+ Masquer les données sensibles à des fins de sécurité et de conformité.

  Pour plus d’informations, consultez [Didacticiel : Détecter et expurger des PII avec S3 Object Lambda et Amazon Comprehend](tutorial-s3-object-lambda-redact-pii.md).
+ Filtrer certaines lignes de données pour fournir des informations précises.
+ Enrichir les données avec des informations provenant d’autres services ou bases de données.
+ Conversion entre les formats de données, comme la conversion XML en JSON pour la compatibilité des applications.
+ Compression ou décompression des fichiers pendant qu’ils sont téléchargés.
+ Redimensionnement des images et insertion d’un filigrane.

  Pour plus d’informations, consultez [Didacticiel : Utilisation de S3 Object Lambda pour filigraner dynamiquement des images au fur et à mesure de leur récupération](https://aws.amazon.com/getting-started/hands-on/amazon-s3-object-lambda-to-dynamically-watermark-images/?ref=docs_gateway/amazons3/tutorial-s3-object-lambda-uppercase.html).
+ Mise en œuvre de règles d’autorisation personnalisées pour accéder aux données.

Pour en savoir plus sur S3 Object Lambda, consultez [Transformation d’objets avec S3 Object Lambda](transforming-objects.md).

# Didacticiel : Détecter et expurger des PII avec S3 Object Lambda et Amazon Comprehend
<a name="tutorial-s3-object-lambda-redact-pii"></a>

**Note**  
Depuis le 7 novembre 2025, S3 Object Lambda n'est disponible que pour les clients existants qui utilisent actuellement le service, ainsi que pour certains AWS partenaires du réseau de partenaires (APN). Pour des fonctionnalités semblables à celles de S3 Object Lambda, cliquez ici : [Modification de la disponibilité d’Amazon S3 Object Lambda](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazons3-ol-change.html).

Lorsque vous utilisez Amazon S3 pour des jeux de données partagés auxquels plusieurs applications et utilisateurs peuvent accéder, il est important de restreindre les informations privilégiées, telles que les données d’identification personnelle (PII), aux entités autorisées uniquement. Par exemple, lorsqu’une application marketing utilise des données contenant des PII, elle doit d’abord masquer les PII pour répondre aux exigences de confidentialité des données. En outre, lorsqu’une application d’analyse utilise un jeu de données d’inventaire d’ordre de production, elle peut devoir d’abord effacer les informations de carte de crédit du client afin d’éviter toute fuite de données involontaire.

Grâce à [S3 Object Lambda](https://aws.amazon.com/s3/features/object-lambda) et une fonction AWS Lambda optimisée par Amazon Comprehend, vous pouvez protéger les DPI récupérées à partir de S3 avant de les renvoyer à une application. Plus précisément, vous pouvez utiliser la [fonction Lambda](https://aws.amazon.com/lambda/) préconstruite en tant que fonction d’expurgation et l’attacher à un point d’accès S3 Object Lambda. Lorsqu’une application (par exemple, une application d’analytique) envoie [des demandes S3 GET standard](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html), ces demandes effectuées via le point d’accès S3 Object Lambda invoquent la fonction intégrée d’expurgation Lambda afin de détecter et d’expurger les PII extraites d’une source de données sous-jacente via un point d’accès S3 compatible. Ensuite, le point d’accès S3 Object Lambda retourne le résultat expurgé à l’application.

![\[Diagramme de flux S3 Object Lambda.\]](http://docs.aws.amazon.com/fr_fr/AmazonS3/latest/userguide/images/ol-comprehend-image-global.png)


Dans le processus, la fonction Lambda préconstruite utilise [Amazon Comprehend](https://aws.amazon.com/comprehend/), un service de traitement du langage naturel (NLP), qui permet de saisir les variations dans la façon dont les PII sont représentées, quelle que soit la façon dont les PII existent dans le texte (par exemple, numériquement ou sous forme de combinaison de mots et de chiffres). Amazon Comprehend peut même utiliser le contexte dans le texte pour comprendre si un numéro à 4 chiffres est un code PIN, les quatre derniers numéros d’un numéro de sécurité sociale (NSS) ou une année. Amazon Comprehend traite n’importe quel fichier texte au format UTF-8 et peut protéger les PII à grande échelle sans affecter la précision. Pour plus d’informations, consultez [Qu’est-ce qu’Amazon Comprehend ?](https://docs.aws.amazon.com/comprehend/latest/dg/what-is.html) dans le *guide du développeur Amazon Comprehend*.

**Objectif**  
Dans ce didacticiel, vous apprendrez à utiliser S3 Object Lambda avec la fonction Lambda préconstruite `ComprehendPiiRedactionS3ObjectLambda`. Cette fonction utilise Amazon Comprehend pour détecter les entités PII. Elle supprime ensuite ces entités en les remplaçant par des astérisques. En expurgeant des PII, vous masquez les données sensibles, ce qui peut aider en matière de sécurité et de conformité.

Vous apprendrez également à utiliser et à configurer une AWS Lambda fonction prédéfinie dans le [AWS Serverless Application Repository](https://aws.amazon.com/serverless/serverlessrepo/)pour qu'elle fonctionne avec S3 Object Lambda afin de faciliter le déploiement. 

**Topics**
+ [Conditions préalables : Créer un utilisateur IAM avec des autorisations](#ol-pii-prerequisites)
+ [Étape 1 : Créer un compartiment S3](#ol-pii-step1)
+ [Étape 2 : charger un fichier dans le compartiment S3](#ol-pii-step2)
+ [Étape 3 : créer un point d’accès S3](#ol-pii-step3)
+ [Étape 4 : configurer et déployer une fonction Lambda préconstruite](#ol-pii-step4)
+ [Étape 5 : créer un point d’accès S3 Object Lambda](#ol-pii-step5)
+ [Étape 6 : utiliser le point d’accès S3 Object Lambda pour récupérer le fichier expurgé](#ol-pii-step6)
+ [Étape 7 : nettoyer](#ol-pii-step7)
+ [Étapes suivantes](#ol-pii-next-steps)

## Conditions préalables : Créer un utilisateur IAM avec des autorisations
<a name="ol-pii-prerequisites"></a>

Avant de commencer ce didacticiel, vous devez disposer d'un AWS compte auquel vous pouvez vous connecter en tant qu' Gestion des identités et des accès AWS utilisateur (utilisateur IAM) avec les autorisations appropriées.

Vous pouvez créer un utilisateur IAM pour le didacticiel. Pour terminer ce didacticiel, votre utilisateur IAM doit joindre les politiques IAM suivantes pour accéder aux AWS ressources pertinentes et effectuer des actions spécifiques. 

**Note**  
Pour des raisons de simplicité, ce didacticiel crée et utilise un utilisateur IAM. Après avoir terminé ce didacticiel, n’oubliez pas de [Supprimer l'utilisateur IAM](#ol-pii-step8-delete-user). Pour une utilisation en production, nous vous recommandons de suivre les [Bonnes pratiques de sécurité dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dans le *Guide de l’utilisateur IAM*. Une bonne pratique requiert que les utilisateurs humains utilisent une fédération avec un fournisseur d’identité pour accéder à AWS avec des informations d’identification temporaires. Une autre bonne pratique consiste à exiger que les charges de travail utilisent des informations d’identification temporaires avec des rôles IAM pour accéder à AWS. Pour en savoir plus sur l'utilisation AWS IAM Identity Center pour créer des utilisateurs avec des informations d'identification temporaires, voir [Getting started](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) dans le *guide de AWS IAM Identity Center l'utilisateur*.   
Pour plus de simplicité, ce didacticiel utilise des stratégies d’accès complet. Pour utilisation en production, nous vous recommandons d’accorder uniquement les autorisations minimales nécessaires à votre cas d’utilisation, conformément aux [Bonnes pratiques de sécurité](security-best-practices.md#security-best-practices-prevent).

Votre utilisateur IAM a besoin des politiques AWS gérées suivantes :
+ [AmazonS3 FullAccess — Accorde](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor) des autorisations pour toutes les actions Amazon S3, y compris les autorisations pour créer et utiliser un point d'accès Object Lambda. 
+ [AWSLambda\$1FullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLambda_FullAccess$jsonEditor)— Accorde des autorisations à toutes les actions Lambda. 
+ [AWSCloudFormationFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AWSCloudFormationFullAccess$serviceLevelSummary)— Accorde des autorisations pour toutes les AWS CloudFormation actions.
+ [IAMFullAccès](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/IAMFullAccess$jsonEditor) : accorde des autorisations à toutes les actions IAM. 
+ [IAMAccessAnalyzerReadOnlyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/IAMAccessAnalyzerReadOnlyAccess$jsonEditor)— Accorde l'autorisation de lire toutes les informations d'accès fournies par IAM Access Analyzer. 

Vous pouvez attacher directement ces politiques existantes lors de la création d’un utilisateur IAM. Pour en savoir plus sur la création d'un utilisateur IAM, consultez [Créer votre premier groupe d'utilisateurs et d'administrateurs IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) dans le *guide de l'utilisateur IAM*.

En outre, votre utilisateur IAM nécessite une politique gérée par le client. Pour accorder à l'utilisateur IAM des autorisations sur toutes les AWS Serverless Application Repository ressources et actions, vous devez créer une stratégie IAM et l'associer à l'utilisateur IAM.

**Créer et attacher une politique IAM à votre utilisateur IAM**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le volet de navigation de gauche, choisissez **Politiques**.

1. Choisissez **Créer une politique**. 

1. Dans l’onglet **Éditeur visuel**, pour **Service**, choisissez **Choisir un service**. Ensuite, choisissez **Serverless Application Repository**. 

1. Pour **Actions**, sous **Actions manuelles**, sélectionnez **Toutes les actions du Serverless Application Repository (serverlessrepo :\$1)** pour ce didacticiel.

   En tant que bonne pratique de sécurité, vous devez autoriser un utilisateur à accéder uniquement aux actions et ressources qui lui sont nécessaires, selon votre cas d’utilisation. Pour plus d’informations, consultez [Bonnes pratiques de sécurité dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dans le *Guide de l’utilisateur IAM*.

1. Pour **Ressources**, choisissez **Toutes les ressources** pour ce didacticiel.

   La bonne pratique consiste à définir des autorisations pour des ressources spécifiques uniquement dans des comptes spécifiques. Vous pouvez autrement accorder le moindre privilège en utilisant des clés de condition. Pour plus d’informations, consultez [Accorder le moindre privilège](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) dans le *guide de l’utilisateur IAM*.

1. Choisissez **Suivant : Balises**.

1. Choisissez **Suivant : Vérification**.

1. Sur la page **Examiner une politique**, saisissez un **nom** (par exemple, **tutorial-serverless-application-repository**) et une **description** (facultatif) pour la politique que vous êtes en train de créer. Examinez le récapitulatif de la politique afin de vérifier que vous avez accordé les autorisations souhaitées, puis choisissez **Créer une politique** pour enregistrer votre nouvelle politique.

1. Dans le volet de navigation de gauche, choisissez **Utilisateurs**. Ensuite, choisissez l’utilisateur IAM pour ce didacticiel. 

1. Dans la page **Récapitulatif** de l’utilisateur sélectionné, choisissez l’onglet **Autorisations**, puis choisissez **Ajouter des autorisations**.

1. Sous **Octroyer des autorisations**, choisissez **Attacher directement les politiques existantes**.

1. Cochez la case en regard de la politique que vous avez créée (par exemple, **tutorial-serverless-application-repository**), puis choisissez **Suivant : Examiner**. 

1. Sous **Récapitulatif des autorisations**, examinez le récapitulatif de la politique afin de vérifier que vous avez attaché la politique prévue. Choisissez ensuite **Ajouter des autorisations**.

## Étape 1 : Créer un compartiment S3
<a name="ol-pii-step1"></a>

Créez un compartiment pour stocker les données originales que vous prévoyez de transformer. 

**Note**  
Des points d'accès peuvent être attachés à une autre source de données, telle qu'un volume Amazon FSx pour OpenZFS, mais ce didacticiel utilise un point d'accès auxiliaire attaché à un compartiment S3.

**Pour créer un compartiment**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Compartiments**.

1. Choisissez **Créer un compartiment**. 

   La page **Créer un compartiment** s'ouvre.

1. Pour **Nom du compartiment**, saisissez un nom (par exemple, **tutorial-bucket**) pour votre compartiment. 

   Pour en savoir plus sur les règles d'attribution de noms des compartiments Amazon S3, consultez [Règles de dénomination des compartiments à usage général](bucketnamingrules.md).

1. Dans **Région**, choisissez la Région AWS dans laquelle le compartiment doit résider. 

   Pour en savoir plus sur les régions des compartiments, consultez [Présentation des compartiments à usage général](UsingBucket.md).

1. Pour **Paramètres de blocage de l'accès public à ce compartiment**, conservez les paramètres par défaut (**Bloquer *tout *accès public** est activé). 

   Nous vous recommandons de laisser tous les paramètres de blocage de l’accès public activés, sauf si vous devez en désactiver un ou plusieurs pour votre cas d’utilisation. Pour en savoir plus sur le blocage de l'accès public, consultez [Blocage de l’accès public à votre stockage Amazon S3](access-control-block-public-access.md).

1. Pour les paramètres restants, conservez les paramètres par défaut. 

   (Facultatif) Si vous souhaitez configurer des paramètres de compartiment supplémentaires pour votre cas d’utilisation particulier, consultez [Création d’un compartiment à usage général](create-bucket-overview.md).

1. Choisissez **Créer un compartiment**.

## Étape 2 : charger un fichier dans le compartiment S3
<a name="ol-pii-step2"></a>

Téléchargez un fichier texte contenant des données personnelles connues de différents types, telles que des noms, des informations bancaires, des numéros de téléphone SSNs, et dans le compartiment S3 en tant que données d'origine dont vous supprimerez les informations personnelles ultérieurement dans ce didacticiel. 

Par exemple, vous pouvez charger le fichier `tutorial.txt` suivant. Voici un exemple de fichier d’entrée Amazon Comprehend.

```
Hello Zhang Wei, I am John. Your AnyCompany Financial Services, 
LLC credit card account 1111-0000-1111-0008 has a minimum payment 
of $24.53 that is due by July 31st. Based on your autopay settings, 
we will withdraw your payment on the due date from your 
bank account number XXXXXX1111 with the routing number XXXXX0000. 

Your latest statement was mailed to 100 Main Street, Any City, 
WA 98121. 
After your payment is received, you will receive a confirmation 
text message at 206-555-0100. 
If you have questions about your bill, AnyCompany Customer Service 
is available by phone at 206-555-0199 or 
email at support@anycompany.com.
```

**Charger un fichier dans un compartiment**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Compartiments**.

1. Dans la liste **Compartiments**, choisissez le nom du compartiment que vous avez créé à l'[étape 1](#ol-pii-step1) (par exemple, **tutorial-bucket**) pour y charger votre fichier.

1. Sous l’onglet **Objets** de votre compartiment, choisissez **Charger**.

1. Dans la page **Charger**, sous **Fichiers et dossiers**, choisissez **Ajouter des fichiers**.

1. Choisissez un fichier à charger, puis choisissez **Ouvrir**. Par exemple, vous pouvez charger le fichier `tutorial.txt` mentionné précédemment.

1. Choisissez **Charger**.

## Étape 3 : créer un point d’accès S3
<a name="ol-pii-step3"></a>

Pour utiliser un point d’accès S3 Object Lambda afin d’accéder aux données originales et de les transformer, vous devez créer un point d’accès S3 et l’associer au compartiment S3 que vous avez créé à l’[étape 1](#ol-pii-step1). Le point d'accès doit se trouver dans le même Région AWS emplacement que les objets que vous souhaitez transformer.

Plus loin dans ce didacticiel, vous utiliserez ce point d’accès comme point d’accès de prise en charge pour votre point d’accès Object Lambda. 

**Créer un point d’accès**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation, choisissez **Points d’accès**.

1. Dans la page **Points d’accès**, choisissez **Créer un point d’accès**.

1. Dans le champ **Nom du point d’accès**, saisissez le nom (par exemple, **tutorial-pii-access-point**) du point d’accès.

   Pour en savoir plus sur l’attribution de noms aux points d’accès, consultez [Règles de dénomination des points d’accès](access-points-restrictions-limitations-naming-rules.md#access-points-names).

1. Dans le champ **Source de données**, saisissez le nom du compartiment que vous avez créé à l’[étape 1](#ol-pii-step1) (par exemple, **tutorial-bucket**). S3 attache le point d’accès à ce compartiment. 

   (Facultatif) Vous pouvez choisir **Parcourir S3** pour parcourir et rechercher les compartiments inclus dans votre compte. Si vous choisissez **Parcourir S3**, choisissez le compartiment souhaité, puis choisissez **Choisir un chemin** pour renseigner le champ **Nom du compartiment** avec le nom de ce compartiment.

1. Pour **Origine du réseau**, choisissez **Internet**. 

   Pour en savoir plus sur les origines de réseau des points d’accès, consultez [Création de points d’accès restreints à un virtual private cloud](access-points-vpc.md).

1. Par défaut, tous les paramètres de blocage d’accès public sont activés pour votre point d’accès. Nous vous recommandons de conserver l’option **Bloquer *tous* les accès publics** activée. Pour en savoir plus, consultez [Gestion de l’accès public aux points d’accès de compartiments à usage général](access-points-bpa-settings.md).

1. Pour tous les autres paramètres de point d’accès, conservez les paramètres par défaut.

   (Facultatif) Vous pouvez modifier les paramètres du point d’accès afin de prendre en charge votre cas d’utilisation. Pour ce didacticiel, nous vous recommandons de conserver les paramètres par défaut. 

   (Facultatif) Si vous devez gérer l’accès à votre point d’accès, vous pouvez indiquer une politique de point d’accès. Pour plus d’informations, consultez [Exemples de stratégies de points d’accès](access-points-policies.md#access-points-policy-examples). 

1. Choisissez **Créer un point d'accès**.

## Étape 4 : configurer et déployer une fonction Lambda préconstruite
<a name="ol-pii-step4"></a>

Pour effacer les PII, configurez et déployez la fonction AWS Lambda `ComprehendPiiRedactionS3ObjectLambda` préconstruite à utiliser avec votre point d’accès S3 Object Lambda.

**Configurez et déployez la fonction Lambda**

1. Connectez-vous au AWS Management Console et visualisez la [https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:839782855223:applications/ComprehendPiiRedactionS3ObjectLambda](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:839782855223:applications/ComprehendPiiRedactionS3ObjectLambda)fonction dans le AWS Serverless Application Repository.

1. Pour les **Paramètres de l’application**, sous **Nom de l’application**, conservez la valeur par défaut (`ComprehendPiiRedactionS3ObjectLambda`) pour ce didacticiel.

   (Facultatif) Vous pouvez saisir le nom que vous souhaitez donner à cette application. Vous pouvez faire ceci si vous prévoyez de configurer plusieurs fonctions Lambda pour différents besoins d’accès au même jeu de données partagé.

1. Pour **MaskCharacter**, conservez la valeur par défaut (`*`). Le caractère de masque remplace chaque caractère de l’entité PII expurgée. 

1. Pour **MaskMode**, conservez la valeur par défaut (**MASK**). La **MaskMode**valeur indique si l'entité PII est expurgée avec le `MASK` caractère ou la `PII_ENTITY_TYPE` valeur.

1. Pour supprimer les types de données spécifiés, pour **PiiEntityTypes**, conservez la valeur par défaut **ALL**. La **PiiEntityTypes**valeur indique les types d'entités PII à prendre en compte pour la rédaction. 

   Pour en savoir plus sur la liste des types d’entités PII pris en charge, consultez [Détecter les données d’identification personnelle (PII)](https://docs.aws.amazon.com/comprehend/latest/dg/how-pii.html) dans le *guide du développeur Amazon Comprehend*.

1. Conservez les paramètres restants définis sur les valeurs par défaut.

   (Facultatif) Si vous souhaitez configurer des paramètres supplémentaires pour votre cas d’utilisation spécifique, consultez la section **Fichier Readme** sur le côté gauche de la page.

1. Cochez la case en regard de **Je reconnais que cette application crée des rôles IAM personnalisés**.

1. Choisissez **Déployer**.

1. Dans la page de la nouvelle application, sous **Ressources**, choisissez l’**ID logique** de la fonction Lambda que vous avez déployée pour examiner la fonction dans la page de la fonction Lambda.

## Étape 5 : créer un point d’accès S3 Object Lambda
<a name="ol-pii-step5"></a>

Un point d’accès S3 Object Lambda offre la flexibilité d’invoquer une fonction Lambda directement à partir d’une demande GET S3 afin que la fonction puisse supprimer les PII récupérées à partir d’un point d’accès S3. Lors de la création et de la configuration d’un point d’accès S3 Object Lambda, vous devez indiquer la fonction d’expurgation Lambda à invoquer et fournir le contexte d’événement au format JSON en tant que paramètres personnalisés pour utilisation par Lambda. 

Le contexte d'événement fournit des informations sur la demande effectuée dans l'événement transmis de S3 Object Lambda à Lambda. Pour en savoir plus sur tous les champs du contexte d’événement, consultez [Format et utilisation du contexte d’événement](olap-event-context.md).

**Créer un point d'accès S3 Object Lambda**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation de gauche, choisissez **Points d’accès Object Lambda**.

1. Dans la page **Points d'accès Object Lambda)**, choisissez **Créer un point d'accès Object Lambda)**.

1. Pour **Nom du point d’accès Lambda d’objet**, saisissez le nom que vous souhaitez utiliser pour le point d’accès Object Lambda (par exemple, **tutorial-pii-object-lambda-accesspoint**). 

1. Pour **Point d’accès de prise en charge**, saisissez ou accédez au point d’accès standard que vous avez créé à l’[étape 3](#ol-pii-step3) (par exemple, **tutorial-pii-access-point**), puis choisissez **Choisir un point d’accès de prise en charge**. 

1. Pour **S3 APIs**, pour récupérer des objets du compartiment S3 afin que la fonction Lambda les traite, sélectionnez. **GetObject**

1. Pour **Appeler une fonction Lambda**, vous pouvez choisir l'une des deux options suivantes pour ce didacticiel. 
   + Sélectionnez **Choisir parmi les fonctions de votre compte** et choisissez la fonction Lambda que vous avez déployée à l’[étape 4](#ol-pii-step4) (par exemple, **serverlessrepo-ComprehendPiiRedactionS3ObjectLambda**) dans la liste déroulante **Fonction Lambda**.
   + Choisissez **Saisir l'ARN**, puis saisissez l'Amazon Resource Name (ARN) de la fonction Lambda que vous avez créée à l'[étape 4](#ol-pii-step4).

1. Pour **Version de la fonction Lambda**, choisissez **\$1LATEST** (la dernière version de la fonction Lambda que vous avez déployée à l’[étape 4](#ol-pii-step4)).

1. (Facultatif) Si vous avez besoin de votre fonction Lambda pour reconnaître et traiter les demandes GET avec des en-têtes de plage et de numéro de partie, sélectionnez **La fonction Lambda prend en charge les demandes utilisant la plage** et **La fonction Lambda prend en charge les demandes utilisant des numéros de partie**. Sinon, décochez ces deux cases.

   Pour en savoir plus sur l’utilisation des plages ou des numéros de pièce avec S3 Object Lambda, consultez [Utilisation des en-têtes Range et partNumber](range-get-olap.md).

1. (Facultatif) Sous **Charge utile – *facultatif***, ajoutez un texte JSON pour fournir des informations supplémentaires à votre fonction Lambda.

   Une charge utile est un texte JSON facultatif que vous pouvez fournir à votre fonction Lambda comme entrée pour toutes les invocations provenant d’un point d’accès S3 Object Lambda spécifique. Pour personnaliser les comportements de plusieurs points d’accès Object Lambda qui invoquent la même fonction Lambda, vous pouvez configurer des charges utiles avec différents paramètres, augmentant ainsi la flexibilité de votre fonction Lambda.

   Pour en savoir plus sur les charges utiles, consultez [Format et utilisation du contexte d’événement](olap-event-context.md).

1. (Facultatif) Pour **Métriques de demande – *facultatif***, choisissez **Activer** ou **Désactiver** pour ajouter une surveillance Amazon S3 à votre point d’accès Object Lambda. Les statistiques relatives aux demandes sont facturées au CloudWatch tarif standard d'Amazon. Pour en savoir plus, consultez [PricingCloudWatch](https://aws.amazon.com/cloudwatch/pricing/) (Tarification).

1. Sous **Politique de point d’accès Object Lambda – *facultatif***, conservez le paramètre par défaut. 

   (Facultatif) Vous pouvez définir une politique de ressource. Cette politique de ressource permet à l’autorisation d’API `GetObject` d’utiliser le point d’accès Object Lambda spécifié.

1. Conservez les paramètres restants définis sur les valeurs par défaut, et choisissez **Créer un point d'accès Object Lambda**.

## Étape 6 : utiliser le point d’accès S3 Object Lambda pour récupérer le fichier expurgé
<a name="ol-pii-step6"></a>

Maintenant, S3 Object Lambda est prêt à expurger les PII de votre fichier original. 

**Pour utiliser le point d’accès S3 Object Lambda pour récupérer le fichier expurgé**

Lorsque vous demandez de récupérer un fichier via votre point d'accès S3 Object Lambda, vous effectuez un appel d'API `GetObject` à S3 Object Lambda. L’objet S3 Lambda invoque la fonction Lambda pour expurger vos PII et retourne les données transformées comme réponse à l’appel d’API`GetObject` S3 standard.

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Points d'accès Object Lambda**.

1. Sur la page **Points d’accès Lambda d’objet**, choisissez le point d’accès S3 Object Lambda que vous avez créé à l’[étape 5](#ol-pii-step5) (par exemple, **tutorial-pii-object-lambda-accesspoint**).

1. Dans l'onglet **Objets** de votre point d'accès S3 Object Lambda, sélectionnez le fichier portant le même nom (par exemple, `tutorial.txt`) comme celui que vous avez chargé dans le compartiment S3 à l'[étape 2](#ol-pii-step2). 

   Ce fichier doit contenir toutes les données transformées.

1. Pour afficher les données transformées, choisissez **Ouvrir** ou **Télécharger**.

    Vous devriez pouvoir voir le fichier expurgé, comme illustré dans l’exemple suivant. 

   ```
   Hello *********. Your AnyCompany Financial Services, 
   LLC credit card account ******************* has a minimum payment 
   of $24.53 that is due by *********. Based on your autopay settings, 
   we will withdraw your payment on the due date from your 
   bank account ********** with the routing number *********. 
   
   Your latest statement was mailed to **********************************. 
   After your payment is received, you will receive a confirmation 
   text message at ************. 
   If you have questions about your bill, AnyCompany Customer Service 
   is available by phone at ************ or 
   email at **********************.
   ```

## Étape 7 : nettoyer
<a name="ol-pii-step7"></a>

Si vous avez expurgé vos données via S3 Object Lambda uniquement à des fins d'apprentissage, supprimez AWS les ressources que vous avez allouées afin de ne plus payer de frais. 

**Topics**
+ [Supprimer le point d’accès Object Lambda](#ol-pii-step8-delete-olap)
+ [Supprimer le point d’accès S3](#ol-pii-step8-delete-ap)
+ [Supprimer la fonction Lambda](#ol-pii-step8-delete-lambda-function)
+ [Supprimer le groupe de CloudWatch journaux](#ol-pii-step8-delete-cloudwatch)
+ [Supprimer le fichier original dans le compartiment source S3](#ol-pii-step8-delete-file)
+ [Supprimer le compartiment source S3](#ol-pii-step8-delete-bucket)
+ [Supprimer le rôle IAM de votre fonction Lambda](#ol-pii-step8-delete-lambda-role)
+ [Supprimer la politique gérée par le client de votre utilisateur IAM](#ol-pii-step8-delete-function-policy)
+ [Supprimer l'utilisateur IAM](#ol-pii-step8-delete-user)

### Supprimer le point d’accès Object Lambda
<a name="ol-pii-step8-delete-olap"></a>

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Points d'accès Object Lambda**.

1. Sur la page **Points d’accès Lambda d’objet**, choisissez le bouton d’option situé à gauche du point d’accès S3 Object Lambda que vous avez créé à l’[étape 5](#ol-pii-step5) (par exemple, **tutorial-pii-object-lambda-accesspoint**).

1. Choisissez **Supprimer**.

1. Confirmez que vous souhaitez supprimer votre point d’accès Object Lambda en saisissant son nom dans le champ de texte qui s’affiche, puis choisissez **Supprimer**.

### Supprimer le point d’accès S3
<a name="ol-pii-step8-delete-ap"></a>

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation, choisissez **Points d'accès**.

1. Accédez au point d’accès que vous avez créé à l’[étape 3](#ol-pii-step3) (par exemple, **tutorial-pii-access-point**) et choisissez le bouton d’option en regard du nom du point d’accès.

1. Choisissez **Supprimer**.

1. Confirmez que vous souhaitez supprimer votre point d'accès en saisissant son nom dans le champ de texte qui s'affiche, puis choisissez **Supprimer**.

### Supprimer la fonction Lambda
<a name="ol-pii-step8-delete-lambda-function"></a>

1. Dans la AWS Lambda console [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/), sélectionnez **Functions** dans le volet de navigation de gauche. 

1. Choisissez la fonction que vous avez créée à l'[étape 4](#ol-pii-step4) (par exemple, **serverlessrepo-ComprehendPiiRedactionS3ObjectLambda**).

1. Choisissez **Actions**, puis choisissez **Supprimer**.

1. Dans la boîte de dialogue **Supprimer une fonction**, choisissez **Supprimer**.

### Supprimer le groupe de CloudWatch journaux
<a name="ol-pii-step8-delete-cloudwatch"></a>

1. Ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Dans le volet de navigation de gauche, choisissez **Groupes de journaux**.

1. Recherchez le groupe de journaux dont le nom se termine par la fonction Lambda que vous avez créée à l'[étape 4](#ol-pii-step4) (par exemple, **serverlessrepo-ComprehendPiiRedactionS3ObjectLambda**).

1. Choisissez **Actions**, puis choisissez **Supprimer le groupe de journaux**.

1. Dans la boîte de dialogue **Supprimer le ou les groupes de journaux**, choisissez **Supprimer**.

### Supprimer le fichier original dans le compartiment source S3
<a name="ol-pii-step8-delete-file"></a>

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Compartiments**.

1. Dans la liste **Nom du compartiment**, choisissez le nom du compartiment vers lequel vous avez chargé le fichier original à l’[étape 2](#ol-pii-step2) (par exemple, **tutorial-bucket**).

1. Cochez la case située à gauche du nom de l’objet que vous souhaitez supprimer (par exemple, `tutorial.txt`).

1. Choisissez **Supprimer**.

1. Dans la page **Supprimer des objets**, dans la section **Supprimer définitivement les objets ?**, confirmez que vous souhaitez supprimer cet objet en saisissant **permanently delete** dans la zone de texte.

1. Choisissez **Supprimer les objets**.

### Supprimer le compartiment source S3
<a name="ol-pii-step8-delete-bucket"></a>

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le panneau de navigation de gauche, choisissez **Compartiments**.

1. Dans la liste **Compartiments**, choisissez le bouton d’option en regard du nom du compartiment que vous avez créé à l’[étape 1](#ol-pii-step1) (par exemple, **tutorial-bucket**).

1. Choisissez **Supprimer**.

1. Dans la page **Supprimer un compartiment**, confirmez que vous souhaitez supprimer le compartiment en saisissant le nom du compartiment dans le champ de texte, puis choisissez **Supprimer un compartiment**.

### Supprimer le rôle IAM de votre fonction Lambda
<a name="ol-pii-step8-delete-lambda-role"></a>

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le volet de navigation de gauche, choisissez **Rôles**, puis cochez la case en regard du rôle à supprimer. Le nom du rôle commence par le nom de la fonction Lambda que vous avez déployée à l’[étape 4](#ol-pii-step4) (par exemple, **serverlessrepo-ComprehendPiiRedactionS3ObjectLambda**).

1. Choisissez **Supprimer**.

1. Dans la boîte de dialogue **Supprimer**, saisissez le nom du rôle dans le champ de saisie de texte pour confirmer la suppression. Ensuite, choisissez **Supprimer**.

### Supprimer la politique gérée par le client de votre utilisateur IAM
<a name="ol-pii-step8-delete-function-policy"></a>

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation de gauche, choisissez **Politiques**.

1. Dans la page **Politiques**, saisissez le nom de la politique gérée par le client que vous avez créée dans les [conditions préalables](#ol-pii-prerequisites) (par exemple, **tutorial-serverless-application-repository**) dans la zone de recherche pour filtrer la liste des politiques. Sélectionnez le bouton d’option en regard du nom de la politique à supprimer.

1. Choisissez **Actions**, puis choisissez **Supprimer**.

1. Confirmez que vous souhaitez supprimer cette politique en saisissant son nom dans le champ de texte qui s’affiche, puis choisissez **Supprimer**.

### Supprimer l'utilisateur IAM
<a name="ol-pii-step8-delete-user"></a>

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le volet de navigation, choisissez **Utilisateurs**, puis cochez la case en regard du nom de l’utilisateur à supprimer.

1. En haut de la page, choisissez **Supprimer**.

1. Dans le champ **Supprimer *user name* ?** boîte de dialogue, entrez le nom d'utilisateur dans le champ de saisie de texte pour confirmer la suppression de l'utilisateur. Choisissez **Supprimer**.

## Étapes suivantes
<a name="ol-pii-next-steps"></a>

Après avoir terminé ce didacticiel, vous pouvez explorer plus en détail les cas d’utilisation connexes suivants :
+ Vous pouvez créer plusieurs points d’accès S3 Lambda Object et les activer avec des fonctions Lambda préconstruites qui sont configurées différemment pour expurger des types spécifiques de PII en fonction des besoins métier des accesseurs aux données. 

  Chaque type d’utilisateur assume un rôle IAM et n’a accès qu’à un seul point d’accès S3 Object Lambda (géré via des politiques IAM). Ensuite, vous attachez chaque fonction Lambda `ComprehendPiiRedactionS3ObjectLambda` configurée pour un cas d’utilisation d’expurgation différent à un autre point d’accès S3 Object Lambda. Pour chaque point d’accès S3 Object Lambda, vous pouvez disposer d’un point d’accès S3 prenant en charge la lecture des données à partir d’un compartiment S3 qui stocke le jeu de données partagé. 

  Pour en savoir plus sur la façon de créer une politique de compartiment S3 qui permet aux utilisateurs de lire à partir du compartiment uniquement via des points d’accès S3, consultez [Configuration des politiques IAM pour l’utilisation des points d’accès](access-points-policies.md).

  Pour en savoir plus sur la façon d’octroyer à un utilisateur l’autorisation d’accéder à la fonction Lambda, au point d’accès S3 et au point d’accès S3 Object Lambda, consultez [Configuration des politiques IAM pour les points d’accès Object Lambda](olap-policies.md).
+ Vous pouvez créer votre propre fonction Lambda et utiliser S3 Object Lambda avec votre fonction Lambda personnalisée pour répondre à vos besoins spécifiques en matière de données.

  Par exemple, pour explorer diverses valeurs de données, vous pouvez utiliser S3 Object Lambda et votre propre fonction Lambda qui utilise des [fonctions Amazon Comprehend](https://aws.amazon.com/comprehend/features/), telles que la reconnaissance des entités, la reconnaissance des mots clés, l’analyse du ressenti et la classification des documents, pour traiter les données. Vous pouvez également utiliser S3 Object Lambda avec [Amazon Comprehend Medical](https://aws.amazon.com/comprehend/medical/), un service NLP admissible à HIPAA, pour analyser et extraire des données d’une manière contextuelle.

  Pour en savoir plus sur la façon de transformer des données avec S3 Object Lambda et votre propre fonction Lambda, consultez [Didacticiel : Transformation de données pour votre application avec S3 Object Lambda](tutorial-s3-object-lambda-uppercase.md).