

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.

# Déploiement des fonctions Lambda comme des archives de fichiers .zip
<a name="configuration-function-zip"></a>

Lorsque vous créez une fonction Lambda, vous empaquetez le code de votre fonction dans un package de déploiement. Lambda prend en charge deux types de packages de déploiement : les images conteneurs et les archives de fichier .zip. Le flux de travail de création d'une fonction dépend du type de package de déploiement. Pour configurer une fonction définie en tant qu'image de conteneur, consultez [Création d’une fonction Lambda à l’aide d’une image de conteneur](images-create.md).

Vous pouvez utiliser la console Lambda et l'API Lambda pour créer une fonction définie avec une archive de fichiers .zip. Vous pouvez également charger un fichier .zip mis à jour pour modifier le code de la fonction. 

**Note**  
Vous ne pouvez pas modifier le [type de package de déploiement](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html#lambda-CreateFunction-request-PackageType) (.zip ou image de conteneur) d’une fonction existante. Par exemple, vous ne pouvez pas convertir une fonction d’image de conteneur pour utiliser un fichier d’archive .zip à la place. Vous devez créer une nouvelle fonction.

**Topics**
+ [

## Création de la fonction
](#configuration-function-create)
+ [

## Utilisation de l'éditeur de code de la console
](#configuration-functions-console-update)
+ [

## Mise à jour du code de fonction
](#configuration-function-update)
+ [

## Modification de l'environnement d'exécution
](#configuration-function-runtime)
+ [

## Modification de l'architecture
](#configuration-function-arch)
+ [

## Utilisation de l'API Lambda
](#configuration-function-api)
+ [

## Téléchargement du code de votre fonction
](#configuration-function-download)
+ [

## CloudFormation
](#configuration-function-cloudformation)
+ [

# Chiffrement des packages de déploiement Lambda au format .zip
](encrypt-zip-package.md)

## Création de la fonction
<a name="configuration-function-create"></a>

Lorsque vous créez une fonction définie avec une archive de fichiers .zip, vous choisissez un modèle de code, la version du langage et le rôle d'exécution pour la fonction. Vous ajoutez votre code de fonction après que Lambda a créé la fonction.

**Pour créer la fonction**

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

1. Sélectionnez **Create function** (Créer une fonction).

1. Choisissez **Créer à partir de zéro** ou **Utiliser un plan** pour créer votre fonction. 

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

   1. Pour **Function name** (Nom de la fonction), saisissez le nom de la fonction. Les noms de fonctions sont limités à 64 caractères.

   1. Pour **Runtime**, sélectionnez la version du langage à utiliser pour votre fonction.

   1. (Facultatif) Pour **Architecture**, choisissez l'architecture de l'ensemble des instructions pour utiliser la fonction. L'architecture par défaut est x86\$164. Lorsque vous créez le package de déploiement de la fonction, assurez-vous qu'il est compatible avec cette [architecture de l'ensemble des instructions](foundation-arch.md).

1. (Facultatif) Sous **Permissions (Autorisations)**, développez **Change default execution role (Modifier le rôle d'exécution par défaut)**. Vous pouvez créer un **rôle d'exécution** ou utiliser un rôle existant.

1. (Facultatif) Développez **Advanced settings (Paramètres avancés)**. Vous pouvez choisir une **Configuration de signature de code** pour la fonction. Vous pouvez également configurer un (VPC Amazon) auquel la fonction puisse accéder.

1. Sélectionnez **Créer une fonction**.

Lambda crée la nouvelle fonction. Vous pouvez désormais utiliser la console pour ajouter le code de fonction et configurer d'autres paramètres et caractéristiques de la fonction. Pour obtenir des instructions de déploiement de code, consultez la page du gestionnaire pour l'exécution utilisée par votre fonction. 

------
#### [ Node.js ]

[Déployer des fonctions Lambda en Node.js avec des archives de fichiers .zip](nodejs-package.md) 

------
#### [ Python ]

 [Travailler avec des archives de fichiers .zip pour les fonctions Lambda Python](python-package.md) 

------
#### [ Ruby ]

 [Déployer des fonctions Lambda en Ruby avec des archives de fichiers .zip](ruby-package.md) 

------
#### [ Java ]

 [Déployer des fonctions Lambda en Java avec des archives de fichiers .zip ou JAR](java-package.md) 

------
#### [ Go ]

 [Déployer des fonctions Lambda Go avec des archives de fichiers .zip](golang-package.md) 

------
#### [ C\$1 ]

 [Créez et déployez des fonctions Lambda C\$1 à l’aide des archives de fichiers .zip](csharp-package.md) 

------
#### [ PowerShell ]

 [Déployer des fonctions Lambda PowerShell avec des archives de fichiers .zip](powershell-package.md) 

------

## Utilisation de l'éditeur de code de la console
<a name="configuration-functions-console-update"></a>

La console crée une fonction Lambda avec un seul fichier source. Pour le scripting, vous pouvez modifier ce fichier et ajouter des fichiers à l'aide de l'éditeur de code intégré. Choisissez **Save** pour enregistrer les changements. Ensuite, pour exécuter votre code, choisissez **Test**.

Lorsque vous enregistrez votre code de fonction, la console Lambda crée un package de déploiement d’archive de fichiers .zip. Lorsque vous développez votre code de fonction en dehors de la console (à l'aide d'un IDE), vous devez [créer un package de déploiement](nodejs-package.md) pour charger votre code dans la fonction Lambda.

## Mise à jour du code de fonction
<a name="configuration-function-update"></a>

Pour le scripting (Node.js, Python et Ruby), vous pouvez modifier votre code de fonction dans l'éditeur intégré. Si ce code est d'une taille supérieure à 3 Mo, si vous devez ajouter des bibliothèques ou dans le cas des langages que l'éditeur ne prend pas en charge (Java, Go, C\$1), vous devez charger le code de votre fonction en tant qu'archive .zip. Si l'archive de fichier .zip est d'une taille inférieure à 50 Mo, vous pouvez charger l'archive de fichier .zip à partir de votre machine locale. Si le fichier est d'une taille supérieure à 50 Mo, chargez le fichier dans la fonction à partir d'un compartiment Amazon S3.

**Pour charger le code de fonction en tant qu'archive .zip**

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

1. Sélectionnez la fonction à mettre à jour, puis choisissez l'onglet **Code**.

1. Sous **Code source** (Source du code), sélectionnez **Upload from** (Charger depuis).

1. Choisissez **.zip file (fichier .zip)**, puis **Upload (Charger)**. 

   1. Dans le sélecteur de fichiers, sélectionnez la nouvelle version de l'image et choisissez **Open (Ouvrir)**, puis **Save (Enregistrer)**.

1. (Alternative à l'étape 4) Choisissez **Emplacement Amazon S3**.

   1. Dans la zone de texte, saisissez l'URL du lien S3 de l'archive de fichiers .zip, puis choisissez **Enregistrer**.

## Modification de l'environnement d'exécution
<a name="configuration-function-runtime"></a>

Si vous mettez à jour la configuration de la fonction pour utiliser un nouvel environnement d'exécution, vous devrez peut-être mettre à jour le code de la fonction pour qu'il soit compatible avec la nouvelle version. Si vous mettez à jour la configuration de la fonction pour utiliser une autre exécution, vous **devez** fournir un nouveau code de fonction compatible avec l'exécution et l'architecture. Pour obtenir des instructions sur comment créer un package de déploiement pour le code de la fonction, consultez la page du gestionnaire de l'exécution utilisé par la fonction.

Les images de base de Node.js 20, Python 3.12, Java 21, .NET 8, Ruby 3.3 et versions ultérieures sont basées sur l’image de conteneur minimale Amazon Linux 2023. Les images de base antérieures utilisaient Amazon Linux 2. AL2023 offre plusieurs avantages par rapport à Amazon Linux 2, notamment un encombrement de déploiement réduit et des versions mises à jour de bibliothèques telles que`glibc`. Pour plus d’informations, consultez [Présentation de l’environnement d’exécution Amazon Linux 2023 pour AWS Lambda](https://aws.amazon.com/blogs/compute/introducing-the-amazon-linux-2023-runtime-for-aws-lambda/) sur le blog AWS Compute.

**Pour modifier l'environnement d'exécution**

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

1. Sélectionnez la fonction à mettre à jour, puis choisissez l'onglet **Code**.

1. Faites défiler jusqu'à la section **Runtime settings (Paramètres d'exécution)**, qui se trouve sous l'éditeur de code.

1. Choisissez **Modifier**.

   1. Pour **Runtime** (Environnement d'exécution), sélectionnez l'identifiant de l'environnement d'exécution.

   1. Pour **Gestionnaire**, spécifiez le nom de fichier et gestionnaire de votre fonction.

   1. Pour **Architecture**, choisissez l'architecture de l'ensemble des instructions pour utiliser votre fonction.

1. Choisissez **Enregistrer**.

## Modification de l'architecture
<a name="configuration-function-arch"></a>

Avant de pouvoir modifier l'architecture de l'ensemble des instructions, vous devez vous assurer que le code de la fonction est compatible avec l'architecture cible. 

Si vous utilisez Node.js, Python ou Ruby et que vous modifiez le code de fonction dans l'éditeur, le code existant peut s'exécuter sans modification.

Toutefois, si vous fournissez le code de fonction en utilisant un package de déploiement d'archives de fichiers .zip, vous devez préparer une nouvelle archive de fichiers .zip compilée et créée correctement pour l'exécution cible et l'architecture de l'ensemble des instructions. Pour obtenir des instructions, veuillez consulter la page du gestionnaire d'exécution de la fonction.

**Pour modifier l'architecture de l'ensemble des instructions**

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

1. Sélectionnez la fonction à mettre à jour, puis choisissez l'onglet **Code**.

1. Sous **Paramètres du runtime**, choisissez **Modifier**.

1. Pour **Architecture**, choisissez l'architecture de l'ensemble des instructions pour utiliser votre fonction.

1. Choisissez **Enregistrer**.

## Utilisation de l'API Lambda
<a name="configuration-function-api"></a>

Pour créer et configurer une fonction qui utilise une archive de fichiers .zip, utilisez les opérations d'API suivantes : 
+ [CreateFunction](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html)
+ [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html)
+ [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html)

## Téléchargement du code de votre fonction
<a name="configuration-function-download"></a>

Vous pouvez télécharger la version non publiée actuelle (`$LATEST`) de l’archive .zip du code de votre fonction via la console Lambda. Avant de démarrer, vérifiez que vous disposez des autorisations IAM suivantes :
+ `iam:GetPolicy`
+ `iam:GetPolicyVersion`
+ `iam:GetRole`
+ `iam:GetRolePolicy`
+ `iam:ListAttachedRolePolicies`
+ `iam:ListRolePolicies`
+ `iam:ListRoles`

**Pour télécharger l’archive .zip du code de fonction**

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

1. Sélectionnez la fonction pour laquelle vous souhaitez télécharger l’archive .zip du code de la fonction.

1. Dans **Aperçu de la fonction**, cliquez sur le bouton **Télécharger**, puis choisissez **Télécharger l’archive .zip du code de fonction**

   1. Vous pouvez également choisir **Télécharger AWS SAM le fichier** pour générer et télécharger un modèle SAM en fonction de la configuration de votre fonction. Vous pouvez aussi choisir **Télécharger les deux** pour télécharger à la fois l’archive .zip et le modèle SAM.

## CloudFormation
<a name="configuration-function-cloudformation"></a>

Vous pouvez l'utiliser CloudFormation pour créer une fonction Lambda qui utilise une archive de fichiers .zip. Dans votre CloudFormation modèle, la `AWS::Lambda::Function` ressource spécifie la fonction Lambda. Pour une description des propriétés de la `AWS::Lambda::Function` ressource, reportez-vous [AWS::Lambda::Function](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html)au *guide de l'AWS CloudFormation utilisateur*.

Dans la ressource `AWS::Lambda::Function`, définissez les propriétés suivantes pour créer une fonction définie en tant qu'archive de fichiers .zip :
+ AWS::Lambda::Function
  + PackageType — Réglez sur`Zip`.
  + Code – Saisissez le nom du compartiment Amazon S3 et le nom du fichier .zip dans les champs `S3Bucket` et `S3Key`. Pour Node.js ou Python, vous pouvez fournir le code source inclus de votre fonction Lambda.
  + Runtime – Définissez la valeur du runtime.
  + Architecture — Définissez la valeur de l'architecture `arm64` pour utiliser le processeur AWS Graviton2. La valeur de l'architecture par défaut est `x86_64`.

# Chiffrement des packages de déploiement Lambda au format .zip
<a name="encrypt-zip-package"></a>

Lambda fournit toujours le chiffrement côté serveur au repos pour les packages de déploiement .zip et les détails de configuration des fonctions avec une AWS KMS key. Par défaut, Lambda utilise une [Clé détenue par AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk). Si ce comportement par défaut convient à votre flux de travail, vous n'avez rien d'autre à configurer. AWS l'utilisation de cette clé ne vous est pas facturée.

Si vous préférez, vous pouvez plutôt fournir une clé gérée par le AWS KMS client. Vous pouvez procéder ainsi pour contrôler la rotation de la clé KMS ou pour répondre aux exigences de votre organisation en matière de gestion des clés KMS. Lorsque vous utilisez une clé gérée par le client, seuls les utilisateurs de votre compte ayant accès à la clé KMS peuvent visualiser ou gérer le code ou la configuration de la fonction.

Les clés gérées par le client entraînent des AWS KMS frais standard. Pour en savoir plus, consultez [Pricing AWS Key Management Service](https://aws.amazon.com/kms/pricing/) (Tarification).

## Création d’une clé gérée par le client
<a name="create-key"></a>

 Vous pouvez créer une clé symétrique gérée par le client en utilisant le AWS Management Console, ou le AWS KMS APIs.

**Pour créer une clé symétrique gérée par le client**

Suivez les étapes de la rubrique [Create a symmetric encryption KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) dans le *Guide du développeur AWS Key Management Service *.

### Permissions
<a name="enable-zip-permissions"></a>

**Stratégie de clé**

Les [stratégies de clé](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) contrôlent l’accès à votre clé gérée par le client. Chaque clé gérée par le client doit avoir exactement une stratégie de clé, qui contient des instructions qui déterminent les personnes pouvant utiliser la clé et comment elles peuvent l’utiliser. Pour plus d’informations, consultez [How to change a key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-how-to) dans le *Guide du développeur AWS Key Management Service *.

Lorsque vous utilisez une clé gérée par le client pour chiffrer un package de déploiement .zip, Lambda n’ajoute aucun [octroi](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) à la clé. Au lieu de cela, votre politique AWS KMS clé doit autoriser Lambda à appeler les opérations d' AWS KMS API suivantes en votre nom :
+ [km : GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)

L'exemple de politique de clé suivant permet à toutes les fonctions Lambda du compte 111122223333 d'appeler les AWS KMS opérations requises pour la clé gérée par le client spécifiée :

**Example AWS KMS politique clé**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "lambda.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
            "Condition": {
                "StringLike": {
                "kms:EncryptionContext:aws:lambda:FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:*"
                }
            }
        }
    ]
}
```

Pour plus d'informations sur le [dépannage des clés d’accès](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html#example-no-iam), consultez le *Guide du développeur AWS Key Management Service *.

**Autorisations de principal**

Lorsque vous utilisez une clé gérée par le client pour chiffrer un package de déploiement .zip, seuls les [principaux](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html) ayant accès à cette clé peuvent accéder au package de déploiement .zip. Par exemple, les principaux qui n'ont pas accès à la clé gérée par le client ne peuvent pas télécharger le package .zip à l'aide de l'URL S3 présignée incluse dans la réponse. [GetFunction](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunction.html) Une `AccessDeniedException` est renvoyée dans la section `Code` de la réponse.

**Example AWS KMS AccessDeniedException**  

```
{
    "Code": {
        "RepositoryType": "S3",
        "Error": {
            "ErrorCode": "AccessDeniedException",
            "Message": "KMS access is denied. Check your KMS permissions. KMS Exception: AccessDeniedException KMS Message: User: arn:aws:sts::111122223333:assumed-role/LambdaTestRole/session is not authorized to perform: kms:Decrypt on resource: arn:aws:kms:us-east-1:111122223333:key/key-id with an explicit deny in a resource-based policy"
        },
        "SourceKMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/key-id"
    },
	...
```

Pour plus d'informations sur les autorisations relatives aux AWS KMS clés, consultez [Authentification et contrôle d'accès pour AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html).

## Utilisation d’une clé gérée par le client pour votre package de déploiement .zip
<a name="enable-zip-custom-encryption"></a>

Utilisez les paramètres d’API suivants pour configurer les clés gérées par le client pour les packages de déploiement .zip :
+ [Source KMSKey Arn](https://docs.aws.amazon.com/lambda/latest/api/API_FunctionCode.html#lambda-Type-FunctionCode-SourceKMSKeyArn) : chiffre le package de déploiement .zip source (le fichier que vous chargez).
+ [KMSKeyArn](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html#lambda-CreateFunction-request-KMSKeyArn) : chiffre les [variables d'environnement et les instantanés SnapStart](configuration-envvars-encryption.md) [Lambda](snapstart.md).

Lorsque `SourceKMSKeyArn` et `KMSKeyArn` sont tous deux spécifiés, Lambda utilise la clé `KMSKeyArn` pour chiffrer la version décompressée du package que Lambda utilise pour invoquer la fonction. Lorsque `SourceKMSKeyArn` est spécifié mais que `KMSKeyArn` ne l’est pas, Lambda utilise une [Clé gérée par AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)pour chiffrer la version décompressée du package.

------
#### [ Lambda console ]

**Pour ajouter le chiffrement par clé gérée par le client lors de la création d’une fonction**

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

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

1. Choisissez **Author from scratch** (Créer à partir de zéro) ou **Container image** (Image de conteneur). 

1. Sous **Basic information** (Informations de base), procédez comme suit :

   1. Pour **Function name (Nom de la fonction)**, saisissez le nom de la fonction.

   1. Pour **Runtime**, sélectionnez la version du langage à utiliser pour votre fonction.

1. Développez **les paramètres avancés**, puis sélectionnez **Activer le chiffrement avec une clé gérée par AWS KMS le client**.

1. Choisissez une clé gérée par le client.

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

Pour supprimer le chiffrement par clé gérée par le client ou pour utiliser une autre clé, vous devez télécharger à nouveau le package de déploiement .zip.

**Pour ajouter le chiffrement par clé gérée par le client à une fonction existante**

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

1. Choisissez le nom d’une fonction.

1. Dans le volet **Source du code**, choisissez **Charger à partir de**.

1. Choisissez un **fichier .zip** ou un **emplacement Amazon S3**.  
![\[\]](http://docs.aws.amazon.com/fr_fr/lambda/latest/dg/images/upload-zip.png)

1. Importez le fichier ou saisissez l’emplacement Amazon S3.

1. Choisissez **Activer le chiffrement avec une clé gérée par le AWS KMS client**.

1. Choisissez une clé gérée par le client.

1. Choisissez **Enregistrer**.

------
#### [ AWS CLI ]

**Pour ajouter un chiffrement par clé gérée par le client lors de la création d’une fonction**

Dans l’exemple [create-function](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-function.html) suivant :
+ `--code`: Spécifie le chemin local vers le package de déploiement .zip (`ZipFile`) et la clé gérée par le client pour le chiffrer ()`SourceKMSKeyArn`.
+ `--kms-key-arn` : spécifie la clé gérée par le client pour chiffrer les variables d’environnement et la version décompressée du package de déploiement.

```
aws lambda create-function \
  --function-name myFunction \
  --runtime nodejs24.x \
  --handler index.handler \
  --role arn:aws:iam::111122223333:role/service-role/my-lambda-role \
  --code ZipFile=fileb://myFunction.zip,SourceKMSKeyArn=arn:aws:kms:us-east-1:111122223333:key/key-id \
  --kms-key-arn arn:aws:kms:us-east-1:111122223333:key/key2-id
```

Dans l’exemple [create-function](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-function.html) suivant :
+ `--code`: Spécifie l'emplacement du fichier .zip dans un compartiment Amazon S3 (`S3Bucket`,`S3Key`,`S3ObjectVersion`) et la clé gérée par le client pour le chiffrer (`SourceKMSKeyArn`).
+ `--kms-key-arn` : spécifie la clé gérée par le client pour chiffrer les variables d’environnement et la version décompressée du package de déploiement.

```
aws lambda create-function \
  --function-name myFunction \
  --runtime nodejs24.x --handler index.handler \
  --role arn:aws:iam::111122223333:role/service-role/my-lambda-role \
  --code S3Bucket=amzn-s3-demo-bucket,S3Key=myFileName.zip,S3ObjectVersion=myObjectVersion,SourceKMSKeyArn=arn:aws:kms:us-east-1:111122223333:key/key-id \
  --kms-key-arn arn:aws:kms:us-east-1:111122223333:key/key2-id
```

**Pour ajouter un chiffrement par clé gérée par le client à une fonction existante**

Dans l'[update-function-code](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-code.html)exemple suivant :
+ `--zip-file` : spécifie le chemin local du package de déploiement .zip.
+ `--source-kms-key-arn` : spécifie la clé gérée par le client pour chiffrer la version compressée du package de déploiement. Lambda utilise une clé AWS détenue pour chiffrer le package décompressé pour les invocations de fonctions. Si vous souhaitez utiliser une clé gérée par le client pour chiffrer la version décompressée du package, exécutez la [update-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-configuration.html)commande avec l'option. `--kms-key-arn`

```
aws lambda update-function-code \
  --function-name myFunction \
  --zip-file fileb://myFunction.zip \
  --source-kms-key-arn arn:aws:kms:us-east-1:111122223333:key/key-id
```

Dans l'[update-function-code](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-code.html)exemple suivant :
+ `--s3-bucket` : spécifie l’emplacement du fichier .zip dans un compartiment Amazon S3.
+ `--s3-key` : spécifie la clé Amazon S3 du package de déploiement.
+ `--s3-object-version` : pour les objets versionnés, la version de l’objet de package de déploiement à utiliser.
+ `--source-kms-key-arn` : spécifie la clé gérée par le client pour chiffrer la version compressée du package de déploiement. Lambda utilise une clé AWS détenue pour chiffrer le package décompressé pour les invocations de fonctions. Si vous souhaitez utiliser une clé gérée par le client pour chiffrer la version décompressée du package, exécutez la [update-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-configuration.html)commande avec l'option. `--kms-key-arn`

```
aws lambda update-function-code \
  --function-name myFunction \
  --s3-bucket amzn-s3-demo-bucket \
  --s3-key myFileName.zip \
  --s3-object-version myObject Version
  --source-kms-key-arn arn:aws:kms:us-east-1:111122223333:key/key-id
```

**Pour supprimer le chiffrement par clé gérée par le client d’une fonction existante**

Dans l'[update-function-code](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-code.html)exemple suivant, `--zip-file` indique le chemin local vers le package de déploiement .zip. Lorsque vous exécutez cette commande sans `--source-kms-key-arn` option, Lambda utilise une clé AWS détenue pour chiffrer la version compressée du package de déploiement.

```
aws lambda update-function-code \
  --function-name myFunction \
  --zip-file fileb://myFunction.zip
```

------