

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.

# sam local invoke
<a name="sam-cli-command-reference-sam-local-invoke"></a>

Cette page fournit des informations de référence pour la AWS Serverless Application Model `sam local invoke` sous-commande Command Line Interface (AWS SAMCLI).
+ Pour une introduction à la AWS SAMCLI, voir [Qu'est-ce que c'est AWS SAMCLI ?](what-is-sam-overview.md#what-is-sam-cli)
+ Pour obtenir de la documentation sur l'utilisation de la AWS SAMCLI `sam local invoke` sous-commande, consultez[Présentation des tests avec sam local invoke](using-sam-cli-local-invoke.md).

La `sam local invoke` sous-commande lance un appel unique d'une fonction localement. AWS Lambda 

**Note**  
Il n'est pas recommandé d'utiliser les fonctionnalités d'appel local de la SAM CLI dans du code non fiable. Pour vous isoler complètement de votre environnement local, exécutez le code directement dans le service Lambda.

**Note**  
Pour des fonctions durables, `sam local invoke` prend en charge l'exécution dynamique avec pointage automatique et rediffusion. Le conteneur continue de fonctionner pendant l'exécution d'une fonction durable afin de gérer la persistance et la reprise de l'état.

## Usage
<a name="ref-sam-cli-local-invoke-usage"></a>

```
$ sam local invoke <arguments> <options>
```

**Note**  
Si plusieurs fonctions sont définies dans votre AWS SAM modèle, indiquez l'ID logique de la fonction que vous souhaitez invoquer.

## Arguments
<a name="ref-sam-cli-local-invoke-args"></a>

**ID de ressource**  <a name="ref-sam-cli-local-invoke-args-resource-id"></a>
ID de la fonction Lambda à appeler.  
Cet argument est facultatif. Si votre application contient une seule fonction Lambda, la AWS SAM CLI l'invoquera. Si votre application contient plusieurs fonctions, indiquez l'ID de la fonction à invoquer.  
*Valeurs valides* : ID logique ou ARN de la ressource.

## Options
<a name="ref-sam-cli-local-invoke-options"></a>

`--add-host LIST`  <a name="ref-sam-cli-local-invoke-options-add-host"></a>
Transmet un mappage de nom d'hôte à adresse IP au fichier hôte du conteneur Docker. Ce paramètre peut être transmis plusieurs fois.  

**Example**  
Exemple : `--add-host example.com:127.0.0.1`

`--beta-features | --no-beta-features`  <a name="ref-sam-cli-local-invoke-options-beta-features"></a>
Autorisez ou refusez les fonctionnalités bêta.

`--config-env TEXT`  <a name="ref-sam-cli-local-invoke-options-config-env"></a>
Le nom d’environnement spécifiant les valeurs de paramètre par défaut dans le fichier de configuration à utiliser. La valeur par défaut est « par défaut ». Pour plus d'informations sur les fichiers de configuration, consultez [Fichier de configuration CLI AWS SAM](serverless-sam-cli-config.md).

`--config-file PATH`  <a name="ref-sam-cli-local-invoke-options-config-file"></a>
Le chemin d’accès et le nom du fichier de configuration contenant les valeurs de paramètres par défaut à utiliser. La valeur par défaut est « `samconfig.toml` » dans la racine du répertoire du projet. Pour plus d’informations sur les fichiers de configuration, consultez [Fichier de configuration CLI AWS SAM](serverless-sam-cli-config.md).

`--container-env-vars`  <a name="ref-sam-cli-local-invoke-options-container-env-vars"></a>
(Facultatif) Transmettez les variables d’environnement au conteneur d’images de la fonction Lambda lors du débogage local.

`--container-host TEXT`  <a name="ref-sam-cli-local-invoke-options-container-host"></a>
Hôte du conteneur Lambda émulé localement. La valeur par défaut est `localhost`. Si vous voulez exécuter la CLI  AWS SAM dans un conteneur Docker sous macOS, vous pouvez spécifier `host.docker.internal`. Si vous souhaitez exécuter le conteneur sur un autre hôte AWS SAMCLI, vous pouvez spécifier l'adresse IP de l'hôte distant.

`--container-host-interface TEXT`  <a name="ref-sam-cli-local-invoke-options-container-host-interface"></a>
L’adresse IP de l’interface de réseau hôte à laquelle les ports de conteneur doivent se relier. La valeur par défaut est `127.0.0.1`. Utiliser `0.0.0.0` pour se lier à toutes les interfaces.

`--debug`  <a name="ref-sam-cli-local-invoke-options-debug"></a>
Active la journalisation de débogage pour imprimer les messages de débogage générés par la CLI  AWS SAM et pour afficher les horodatages.

`--debug-args TEXT`  <a name="ref-sam-cli-local-invoke-options-debug-args"></a>
Arguments facultatifs à transmettre au débogueur.

`--debug-port, -d TEXT`  <a name="ref-sam-cli-local-invoke-options-debug-port"></a>
Si spécifié, cela démarre le conteneur de la fonction Lambda en mode débogage et expose ce port sur l’hôte local.

`--debugger-path TEXT`  <a name="ref-sam-cli-local-invoke-options-debugger-path"></a>
Chemin d’accès de l’hôte vers un débogueur monté dans le conteneur Lambda.

`--docker-network TEXT`  <a name="ref-sam-cli-local-invoke-options-docker-network"></a>
Le nom ou l’identifiant d’un réseau Docker existant auquel les conteneurs Docker Lambda doivent se connecter, avec le réseau de pont par défaut. Si cela n’est pas spécifié, les conteneurs Lambda se connectent uniquement au réseau Docker de pont par défaut.

`--docker-volume-basedir, -v TEXT`  <a name="ref-sam-cli-local-invoke-options-docker-volume-basedir"></a>
Emplacement du répertoire de base dans lequel se trouve le AWS SAM fichier. Si Docker est exécuté sur une machine distante, vous devez monter le chemin où se trouve le AWS SAM fichier sur la machine Docker et modifier cette valeur pour qu'elle corresponde à la machine distante.

`--durable-execution-name TEXT`  <a name="ref-sam-cli-local-invoke-options-durable-execution-name"></a>
Nom de l'exécution durable (pour les fonctions durables uniquement)

`--env-vars, -n PATH`  <a name="ref-sam-cli-local-invoke-options-env-vars"></a>
Le `.env` fichier JSON ou contenant les valeurs des variables d'environnement de la fonction Lambda. Le format de fichier est automatiquement détecté. Pour plus d’informations sur les fichiers de variables d’environnement, consultez [Fichier de variable d'environnement](serverless-sam-cli-using-invoke.md#serverless-sam-cli-using-invoke-environment-file).

`--event, -e PATH`  <a name="ref-sam-cli-local-invoke-options-event"></a>
Le fichier JSON qui contient les données d’événement transmises à la fonction Lambda lorsqu’elle est appelée. Si vous ne spécifiez pas cette option, aucun événement n’est assumé. Pour entrer JSON à partir de `stdin`, vous devez transmettre la valeur ’-’. Pour plus d'informations sur les formats de messages d'événements provenant de différents AWS services, consultez la section [Utilisation d'autres services](https://docs.aws.amazon.com/lambda/latest/dg/lambda-services.html) dans le *Guide du AWS Lambda développeur*.

`--force-image-build`  <a name="ref-sam-cli-local-invoke-options-force-image-build"></a>
Spécifie si la CLI  AWS SAM doit recréer l'image utilisée pour invoquer les fonctions Lambda avec des couches.

`--help`  <a name="ref-sam-cli-local-invoke-options-help"></a>
Affiche ce message, puis se ferme.

`--hook-name TEXT`  <a name="ref-sam-cli-local-invoke-options-hook-name"></a>
Nom du hook utilisé pour étendre la fonctionnalité de la CLI  AWS SAM.  
Valeurs acceptées : `terraform`.

`--invoke-image TEXT`  <a name="ref-sam-cli-local-invoke-options-invoke-image"></a>
L’URI de l’image de conteneur que vous souhaitez utiliser pour l’appel de la fonction locale. Par défaut, AWS SAM extrait l'image du conteneur d'Amazon ECR Public (répertoriée dans[Référentiels d'images pour AWS SAM](serverless-image-repositories.md)). Utilisez cette option pour extraire l’image à partir d’un autre emplacement.  
Par exemple, `sam local invoke MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8`.

`--layer-cache-basedir DIRECTORY`  <a name="ref-sam-cli-local-invoke-options-layer-cache-basedir"></a>
Spécifie l’emplacement du répertoire de base dans lequel les couches utilisées par le modèle sont téléchargées.

`--log-file, -l TEXT`  <a name="ref-sam-cli-local-invoke-options-log-file"></a>
Le fichier journal vers lequel envoyer les journaux d’exécution.

`--mount-symlinks`  <a name="ref-sam-cli-local-invoke-options-mount-symlinks"></a>
Garantit le AWS SAMCLI montage permanent des liens symboliques présents dans les fichiers à créer ou à invoquer. Cela s'applique uniquement aux liens symboliques du répertoire de niveau supérieur (c'est-à-dire aux liens symboliques situés directement à la racine de la fonction). Par défaut, les liens symboliques ne sont pas montés, à l'exception de ceux nécessaires pour être utilisés `node_modules` dans `build-in-source` NodeJS.

`--no-event`  <a name="ref-sam-cli-local-invoke-options-no-event"></a>
Appelle la fonction avec un événement vide.

`--no-memory-limit`  <a name="ref-sam-cli-local-invoke-options-no-memory-limit"></a>
Supprime la limite de mémoire dans le conteneur lors de l'appel local, même lorsque la mémoire est configurée dans le AWS SAM modèle.

`--parameter-overrides`  <a name="ref-sam-cli-local-invoke-options-parameter-overrides"></a>
Chaîne contenant des remplacements de CloudFormation paramètres codés sous forme de paires clé-valeur. Utilisez le même format que le AWS Command Line Interface (AWS CLI). Le AWS SAMCLI format est basé sur des mots clés et valeurs explicites, chaque remplacement étant séparé par un espace. Voici deux exemples :  
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world`
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana`

`--profile TEXT`  <a name="ref-sam-cli-local-invoke-options-profile"></a>
Le profil spécifique de votre fichier d'informations d'identification qui obtient les AWS informations d'identification.

`--region TEXT`  <a name="ref-sam-cli-local-invoke-options-region"></a>
La AWS région dans laquelle le déploiement doit être effectué. Par exemple, us-east-1.

`--runtime TEXT`  <a name="ref-sam-cli-local-invoke-options-runtime"></a>
Utilise le runtime spécifié pour appeler une fonction Lambda localement. Cela remplace le temps d'exécution défini dans le `template.yml` fichier. Cela permet également de tester les fonctions Lambda avec différents temps d'exécution sans modifier la configuration de la fonction d'origine.

`--save-params`  <a name="ref-sam-cli-local-invoke-options-save-params"></a>
Enregistrez les paramètres que vous fournissez sur la ligne de commande dans le fichier AWS SAM de configuration.

`--shutdown`  <a name="ref-sam-cli-local-invoke-options-shutdown"></a>
Imite un événement d’arrêt une fois l’appel terminé, afin de tester la gestion des extensions du comportement d’arrêt.

`--skip-prepare-infra`  <a name="ref-sam-cli-local-invoke-options-skip-prepare-infra"></a>
Ignore l'étape de préparation si aucune modification d'infrastructure n'a été apportée. À utiliser avec l'option `--hook-name`.

`--skip-pull-image`  <a name="ref-sam-cli-local-invoke-options-skip-pull-image"></a>
Par défaut, la CLI  AWS SAM vérifie le dernier environnement d'exécution à distance de Lambda et met automatiquement à jour votre image locale pour rester synchronisée.  
Spécifiez cette option pour ne pas extraire la dernière image Docker de votre environnement d'exécution Lambda.

`--template, -t PATH`  <a name="ref-sam-cli-local-invoke-options-template"></a>
Le fichier AWS SAM modèle.  
Cette option n'est pas compatible avec `--hook-name`.  
Si vous spécifiez cette option, AWS SAM charge uniquement le modèle et les ressources locales vers lesquels il pointe.

`--tenant-id TEXT`  <a name="ref-sam-cli-local-invoke-options-tenancyconfig"></a>
L'ID de locataire pour les fonctions Lambda à locataires multiples. Utilisé pour garantir l'isolation informatique entre les différents locataires. Obligatoire lors de l'appel de fonctions configurées avec le mode d'isolation des locataires.

`--terraform-plan-file`  <a name="ref-sam-cli-local-invoke-options-terraform-plan-file"></a>
Le chemin relatif ou absolu vers votre fichier de plan Terraform local lorsque vous utilisez la CLI  AWS SAM avec Terraform Cloud. Cette option nécessite que `--hook-name` soit défini sur `terraform`.

## Exemples
<a name="sam-cli-command-reference-sam-local-invoke-examples"></a>

L'exemple suivant utilise un événement généré à des fins de test local en utilisant un `s3.json` événement pour appeler une fonction Lambda localement.

```
$ sam local invoke --event events/s3.json S3JsonLoggerFunction
```

L'exemple suivant teste la fonction à l'` HelloWorldFunction`aide de l'environnement d'exécution Python 3.11

```
$ sam local invoke --runtime python3.11 HelloWorldFunction
```

L'exemple suivant teste la fonction ` HelloWorldFunction` avec un nom d'exécution durable

```
$ sam local invoke HelloWorldFunction --durable-execution-name my-execution
```