

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.

# Configuration des extensions Lambda
<a name="extensions-configuration"></a>

## Configuration des extensions (archive de fichiers .zip)
<a name="using-extensions-config"></a>

Vous pouvez ajouter une extension à votre fonction en tant que [couche Lambda](chapter-layers.md). L'utilisation de couches vous permet de partager des extensions au sein de votre organisation ou avec l'ensemble de la communauté des développeurs Lambda. Vous pouvez ajouter une ou plusieurs extensions à une couche. Vous pouvez enregistrer jusqu'à 10 extensions pour une fonction.

Ajoutez l'extension à votre fonction en utilisant la même méthode que pour n'importe quelle couche. Pour de plus amples informations, consultez [Gestion des dépendances Lambda à l’aide de couches](chapter-layers.md).

**Ajout d'une extension à votre fonction (console)**

1. Ouvrez la [page Functions](https://console.aws.amazon.com/lambda/home#/functions) (Fonctions) de la console Lambda.

1. Choisissez une fonction.

1. Sélectionnez l'onglet **Code** s'il n'est pas déjà sélectionné.

1. Sous **Layers (Couches)**, sélectionnez **Edit (Modifier)**.

1. Pour **Choose a layer (Choisir une couche)**, sélectionnez **Specify an ARN (Spécifier un nom ARN)**.

1. Pour **Specify an ARN** (Spécifier un ARN), entrez l’Amazon Resource Name (ARN) d'une couche d'extension.

1. Choisissez **Ajouter**.

## Utilisation des extensions dans les images de conteneur
<a name="invocation-extensions-images"></a>

Vous pouvez ajouter des extensions à votre [image de conteneur](images-create.md). Le paramètre d'image de conteneur ENTRYPOINT détermine le processus principal de la fonction. Configurez le paramètre ENTRYPOINT dans le Dockerfile ou en tant que remplacement dans la configuration de la fonction. 

Vous pouvez exécuter plusieurs traitements au sein d'un conteneur. Lambda gère le cycle de vie du traitement principal et tous les traitements supplémentaires. Lambda utilise l'[API des extensions](runtimes-extensions-api.md) pour gérer le cycle de vie des extensions. 

### Exemple : ajout d'une extension externe
<a name="extensions-images-ex1"></a>

Une extension externe s'exécute dans un processus distinct de la fonction Lambda. Lambda démarre un traitement pour chaque extension dans le répertoire `/opt/extensions/`. Lambda utilise l'API d'extensions pour gérer le cycle de vie des extensions. Une fois l'exécution de la fonction terminée, Lambda envoie un événement `Shutdown` à chaque extension externe.

**Example d'ajouter une extension externe à une image de base Python**  

```
FROM public.ecr.aws/lambda/python:3.11

# Copy and install the app
COPY /app /app
WORKDIR /app
RUN pip install -r requirements.txt

# Add an extension from the local directory into /opt/extensions
ADD my-extension.zip /opt/extensions
CMD python ./my-function.py
```

## Étapes suivantes
<a name="using-extensions-next"></a>

Pour de plus amples informations sur les extensions, nous vous recommandons les ressources suivantes :
+ Pour consulter un exemple pratique de base, consultez [Building Extensions for AWS Lambda](https://aws.amazon.com/blogs/compute/building-extensions-for-aws-lambda-in-preview/) sur le blog AWS Compute.
+ Pour plus d'informations sur les extensions fournies par les partenaires AWS Lambda, consultez [Introducing AWS Lambda Extensions](https://aws.amazon.com/blogs/compute/introducing-aws-lambda-extensions-in-preview/) sur le blog AWS Compute.
+ Pour consulter les exemples d'extensions disponibles et scripts encapsuleurs, reportez-vous à [Extensions AWS Lambda](https://github.com/aws-samples/aws-lambda-extensions) sur le référentiel d'exemples AWS GitHub.