

 AWS Cloud9 n'est plus disponible pour les nouveaux clients. Les clients existants d’ AWS Cloud9 peuvent continuer à l’utiliser normalement. [En savoir plus](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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.

# AWS SAM Utilisation de la AWS boîte à outils
<a name="serverless-apps-toolkit"></a>

Le AWS kit d'outils fournit un support pour les [applications sans serveur](https://aws.amazon.com/serverless/). À l'aide du AWS kit d'outils, vous pouvez créer des applications sans serveur contenant des [AWS Lambda](https://aws.amazon.com/lambda/)fonctions, puis les déployer sur une AWS CloudFormation pile.

## Création d'une application sans serveur
<a name="sam-create"></a>

Cet exemple montre comment utiliser le AWS Toolkit pour créer une application sans serveur. Pour plus d'informations sur l'exécution et le débogage des applications sans serveur, consultez [Test et débogage des applications sans serveur](#sam-run-debug).

Les conditions préalables nécessaires à la création d'une application sans serveur comprennent **CLI AWS SAM ** et la **CLI AWS **. Ils sont inclus avec AWS Cloud9. Si la AWS SAM CLI n'est pas installée ou si elle est obsolète, vous devrez peut-être exécuter une installation ou une mise à niveau. Pour obtenir des instructions sur l'installation de la AWS SAM CLI, voir [Installation de la AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html#install-sam-cli-instructions) et pour des instructions sur la mise à niveau de la AWS SAM CLI, voir [Mise à niveau de la AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/manage-sam-cli-versions.html#manage-sam-cli-versions-upgrade).

### Créez une application sans serveur avec le Toolkit AWS
<a name="create-serverless-app"></a>

Cet exemple montre comment créer une application sans serveur avec le AWS Toolkit en utilisant le [AWS Serverless Application Model (AWS SAM).](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html)

1. Dans **AWS Explorer**, ouvrez le menu contextuel (clic droit) pour le nœud **Lambda**, puis choisissez **Create Lambda SAM Application** (Créer une application SAM Lambda). 
**Note**  
Vous pouvez également cliquer sur l'icône de menu dans l'en-tête **AWS : Explorer**, puis choisir **Create Lambda SAM Application** (Créer une application SAM Lambda).

1. Choisissez l'environnement d'exécution de votre application SAM. Pour cet exemple, choisissez **nodejs12.x**.
**Note**  
Si vous sélectionnez l'un des environnements d'exécution avec « (Image) », votre application est de type package `Image`. Si vous sélectionnez l'un des environnements d'exécution sans « (Image) », votre application est de type `Zip`. Pour plus d'informations sur la différence entre les types de packages `Image` et `Zip`, consultez [Packages de déploiement Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) dans le *guide du développeur AWS Lambda *.

1. Choisissez l'un des modèles suivants pour votre appli sans serveur :
   + **AWS SAM Hello World** : modèle de base doté d'une fonction Lambda qui renvoie le message classique « Hello World ».
   + **AWS Exemple d'application Step Functions** : exemple d'application qui exécute un flux de travail de négociation d'actions. Les Steps Functions orchestrent les interactions des fonctions Lambda impliquées. 

1. Choisissez l'emplacement de votre nouveau projet. S'il est disponible, vous pouvez sélectionner un dossier d'espace de travail existant. Sinon, recherchez un autre dossier. Si vous choisissez **Select a different folder** (Sélectionner un autre dossier), une boîte de dialogue s'affiche pour vous permettre de sélectionner un emplacement de dossier.

1. Saisissez le nom de votre nouvelle application. Pour cet exemple, utilisez `my-sam-app-nodejs`. Une fois que vous avez appuyé sur **Entrée**, le AWS kit d'outils met quelques instants à créer le projet.

Lorsque le projet est créé, vous pouvez afficher les fichiers de votre application dans la fenêtre Environnement. Trouvez-le dans la fenêtre **Explorer**.

![\[Capture d'écran montrant les environnements d'exécution disponibles pour les applications SAM.\]](http://docs.aws.amazon.com/fr_fr/cloud9/latest/user-guide/images/sam-create-app-explorer.png)


## Test et débogage des applications sans serveur
<a name="sam-run-debug"></a>

Vous pouvez utiliser le AWS kit d'outils pour configurer la façon de déboguer des applications sans serveur et de les exécuter localement dans votre environnement de développement. Vous pouvez déboguer une application sans serveur définie par un modèle AWS Serverless Application Model (AWS SAM). Ce modèle utilise une syntaxe YAML simple pour décrire les ressources telles que les fonctions APIs, les bases de données et les mappages de sources d'événements qui constituent une application sans serveur. 

Pour en savoir plus sur le AWS SAM modèle, reportez-vous à l'[anatomie du AWS SAM modèle](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-template-anatomy.html) dans le *Guide du AWS Serverless Application Model développeur.* 

Vous pouvez également déboguer rapidement les applications sans serveur qui n'ont pas été validées dans un modèle SAM.

Vous commencez à configurer le comportement de débogage en utilisant des actions intégrées pour identifier une fonction éligible AWS Lambda . Pour utiliser l'infrastructure définie par le modèle SAM, utilisez l'action en ligne dans le fichier au format YAML approprié. Pour tester la fonction directement sans le modèle, utilisez le lien contextuel du gestionnaire Lambda dans le fichier d'application.

**Note**  
Dans cet exemple, nous déboguons une application qui utilise JavaScript. Mais vous pouvez utiliser les fonctionnalités de débogage disponibles dans le AWS Toolkit avec les langages et environnements d'exécution suivants :  
JavaScript — Node.js 10. *x*, 12 ans. *x*, 14 ans. *x*
Python — 3.7, 3.8, 3.9, 3.10 (les applications sans serveur Python 2.7 et 3.6 peuvent être exécutées mais ne peuvent pas être déboguées par le AWS Toolkit.)
Votre choix de langage affecte également la façon dont les liens contextuels indiquent les gestionnaires Lambda éligibles. Pour plus d'informations, consultez [Exécution et débogage des fonctions sans serveur directement à partir du code](#run-debug-no-template).

### Utilisation de modèles SAM pour exécuter et déboguer les applications sans serveur
<a name="sam-run-debug-template"></a>

Pour les applications exécutées et déboguées à l'aide d'un modèle SAM, un fichier au format YAML décrit le comportement de l'application et les ressources qu'elle utilise. Si vous créez une application sans serveur à l'aide du AWS Toolkit, un fichier nommé `template.yaml` est automatiquement généré pour votre projet.

Dans cette procédure, utilisez l'exemple d'application qui a été créé dans [Création d'une application sans serveur](#sam-create).

### Pour utiliser un modèle SAM pour exécuter et déboguer une application sans serveur


1. Pour afficher les fichiers de votre application, qui composent votre application sans serveur, accédez à la fenêtre **Environnement**.

1. Dans le dossier de l'application (par exemple, *my-sample-app*), ouvrez le `template.yaml` fichier.

1. Pour `template.yaml`, sélectionnez **Edit Launch Configuration** (Modifier la configuration du lancement).

   Un nouvel éditeur affiche le fichier `launch.json` qui fournit une configuration de débogage avec des attributs par défaut.

1. <a name="properties"></a>Modifiez ou confirmez les valeurs des propriétés de configuration suivantes :
   + `"name"` : saisissez un nom convivial à afficher dans le champ déroulant **Configuration** dans la vue **Run** (Exécuter).
   + `"target"` : vérifiez que la valeur est `"template"`. De cette façon, le modèle SAM est le point d'entrée de la session de débogage. 
   + `"templatePath"` – Saisissez un chemin relatif ou absolu pour le fichier `template.yaml`.
   + `"logicalId"` : assurez-vous que le nom correspond à celui spécifié dans la section **Resources** (Ressources) du modèle SAM. Dans ce cas, il s'agit de `HelloWorldFunction` de type `AWS::Serverless::Function`.

   Pour plus d'informations sur ces entrées et sur d'autres entrées dans le fichier `launch.json`, consultez [Options de configuration pour le débogage d'applications sans serveur](sam-debug-config-ref.md).

1. Si la votre configuration de débogage vous convient, enregistrez `launch.json`. Ensuite, cliquez sur le bouton vert « exécuter » à côté de **RUN** (EXÉCUTER) pour démarrer le débogage.
**Note**  
Si votre application SAM ne s'exécute pas, vérifiez la fenêtre **Sortie** pour déterminer si l'erreur est causée par une image Docker non générée. Vous devrez peut-être libérer de l'espace disque dans votre environnement.   
Pour de plus amples informations, veuillez consulter [Erreur lors de l'exécution des applications SAM localement dans le AWS Toolkit car l' AWS Cloud9 environnement ne dispose pas de suffisamment d'espace disque](troubleshooting.md#troubleshooting-dockerimage-toolkit). 

   Lorsque les sessions de débogage démarrent, le panneau **DEBUG CONSOLE** (CONSOLE DE DÉBOGAGE) affiche la sortie de débogage et toutes les valeurs qui sont renvoyées par la fonction Lambda. Lors du débogage des applications SAM, **AWS Toolkit** est sélectionné comme canal de **sortie** dans le panneau **Output** (Sortie).<a name="docker-problem"></a>
**Note**  
Pour les utilisateurs Windows, si une erreur de montage Docker se produit au cours de ce processus, vous devez actualiser les informations d'identification de vos lecteurs partagés dans **Docker Settings** (Paramètres Docker). Une erreur de montage Docker peut se présenter comme suit.   

   ```
   Fetching lambci/lambda:nodejs10.x Docker container image......
   2019-07-12 13:36:58 Mounting C:\Users\<username>\AppData\Local\Temp\ ... as /var/task:ro,delegated inside runtime container
   Traceback (most recent call last):
   ...requests.exceptions.HTTPError: 500 Server Error: Internal Server Error ...
   ```

### Exécution et débogage des fonctions sans serveur directement à partir du code
<a name="run-debug-no-template"></a>

Lorsque vous testez l' AWS SAM application, vous pouvez choisir d'exécuter et de déboguer uniquement la fonction Lambda. Excluez les autres ressources qui sont définies par le modèle SAM. Cette approche implique d'utiliser une action en ligne pour identifier les gestionnaires de fonction Lambda dans le code source qui peut être directement appelé. 

Les gestionnaires Lambda détectés par des liens contextuels dépendent du langage et de l'environnement d'exécution que vous utilisez pour votre application.


|  Language/runtime  | Conditions d'identification des fonctions Lambda par des liens contextuels | 
| --- | --- | 
|  JavaScript (Node.js 10.x, 12.x et 14.x)  |  La fonction de recherche dispose des fonctions suivantes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/cloud9/latest/user-guide/serverless-apps-toolkit.html)  | 
|  Python (3.7, 3.8, 3.9 et 3.10)  |  La fonction de recherche possède les fonctions suivantes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/cloud9/latest/user-guide/serverless-apps-toolkit.html)  | 

### Pour exécuter et déboguer une application sans serveur directement à partir du code de l'application




1. Pour afficher les fichiers de votre application sans serveur, accédez au dossier de l'application en choisissant l'icône de dossier à côté de l'éditeur.

1. Dans le dossier de l'application (par exemple, *my-sample-app*), développez le dossier des fonctions (dans cet exemple, *hello-world*) et ouvrez le `app.js` fichier.

1. Dans l'action en ligne qui identifie une fonction de gestionnaire Lambda éligible, sélectionnez `Add Debug Configuration`. Si l'option de configuration add debug (ajouter le débogage) n'apparaît pas, vous devez activer les lentilles de code. Pour activer les lentilles de code, consultez [Activer les lentilles de code du AWS Toolkit](enable-code-lenses.md).  
![\[Accédez à l'option Ajouter une configuration de débogage dans l'action en ligne d'un gestionnaire de fonction Lambda.\]](http://docs.aws.amazon.com/fr_fr/cloud9/latest/user-guide/images/direct_invoke_config.png)

1. Sélectionnez le runtime où s'exécute votre application SAM.

1. Dans l'éditeur du fichier `launch.json`, modifiez ou confirmez les valeurs des propriétés de configuration suivantes :
   + `"name"` – Saisissez un nom convivial pour le lecteur.
   + `"target"` – Vérifiez que la valeur est `"code"` afin qu'un gestionnaire de fonction Lambda soit directement appelé.
   + `"lambdaHandler"` – Saisissez le nom de la méthode dans votre code que Lambda appelle pour exécuter votre fonction. Par exemple, pour les applications dans JavaScript, la valeur par défaut est`app.lambdaHandler`.
   + `"projectRoot"` – Saisissez le chemin du fichier d'application qui contient la fonction Lambda.
   + `"runtime"` : saisissez ou confirmez un environnement d'exécution valide pour l'environnement d'exécution Lambda (par exemple, `"nodejs.12x"`).
   + `"payload"` – Choisissez l'une des options suivantes pour définir la charge utile d'événement à fournir à votre fonction Lambda comme entrée :
     + `"json"` : paires clé-valeur au format JSON qui définissent la charge utile de l'événement.
     + `"path"` : chemin du fichier utilisé comme charge utile d'événement.

1. 

   Si la configuration de débogage vous convient, choisissez la flèche de lecture verte à côté de **EXÉCTUER** pour démarrer le débogage.

   Lorsque les sessions de débogage démarrent, le panneau **DEBUG CONSOLE** (CONSOLE DE DÉBOGAGE) affiche la sortie de débogage et toutes les valeurs qui sont renvoyées par la fonction Lambda. Lors du débogage des applications SAM, la **AWS Toolkit** est sélectionné comme canal de **sortie** dans le panneau **Output** (Sortie).
**Note**  
Si Docker est mentionné dans les messages d'erreur, consultez cette [note](#docker-problem).

### Exécution et débogage des ressources locales Amazon API Gateway
<a name="run-debug-api-gateway"></a>

Vous pouvez exécuter ou déboguer les ressources locales d' AWS SAM API Gateway spécifiées dans`template.yaml`. Pour ce faire, exécutez une configuration de AWS Cloud9 lancement de `type=aws-sam` avec le`invokeTarget.target=api`.

**Note**  
API Gateway prend en charge deux types de APIs. Il s'agit du REST et du HTTP APIs. Cependant, la fonctionnalité API Gateway associée au AWS Toolkit ne prend en charge que REST APIs. Parfois, le protocole HTTP APIs est appelé « API Gateway V2 » APIs.

**Pour exécuter et déboguer des ressources API Gateway locales**

1. Choisissez l'une des méthodes suivantes pour créer une configuration de lancement pour une ressource API Gateway AWS SAM  :
   + **Option 1** : consultez le code source du gestionnaire (plus précisément, un fichier .js, .cs ou .py) dans votre projet AWS SAM , passez la souris sur le gestionnaire Lambda et choisissez **Add Debug Configuration** (Ajouter une configuration de débogage). Si l'option n'apparaît pas, activez les lentilles de code. Pour activer les lentilles de code, consultez [Activer les lentilles de code du AWS Toolkit](enable-code-lenses.md).). Ensuite, dans le menu, choisissez l'élément marqué comme événement API.
   + **Option 2** Modifiez `launch.json` et créez une configuration de lancement à l'aide de la commande suivante.

     ```
     {
         "type": "aws-sam",
         "request": "direct-invoke",
         "name": "myConfig",
         "invokeTarget": {
             "target": "api",
             "templatePath": "n12/template.yaml",
             "logicalId": "HelloWorldFunction"
         },
         "api": {
             "path": "/hello",
             "httpMethod": "post",
             "payload": {
                 "json": {}
             }
         }, 
         "sam": {},
         "aws": {}
     }
     ```

1. Dans le menu déroulant en regard du bouton **Run** (Exécuter), choisissez la configuration de lancement (appelée `myConfig` dans l'exemple précédent).

1. (Facultatif) Ajoutez des points d'arrêt à votre code de projet Lambda.

1. Cliquez sur le bouton **Exécuter** en regard du bouton vert **« exécuter »**.

1. Consultez les résultats dans le volet de sortie.

#### Configuration
<a name="run-debug-api-gateway-configuration"></a>

Lorsque vous utilisez la valeur de propriété `invokeTarget.target` `api`, la boîte à outils modifie la validation et le comportement de la configuration de lancement pour prendre en charge un champ `api`.

```
{
    "type": "aws-sam",
    "request": "direct-invoke",
    "name": "myConfig",
    "invokeTarget": {
        "target": "api",
        "templatePath": "n12/template.yaml",
        "logicalId": "HelloWorldFunction"
    },
    "api": {
        "path": "/hello",
        "httpMethod": "post",
        "payload": {
            "json": {}
        },
        "querystring": "abc=def&qrs=tuv",
        "headers": {
            "cookie": "name=value; name2=value2; name3=value3"
        }
    },
    "sam": {},
    "aws": {}
}
```

Remplacez les valeurs dans l'exemple comme suit :

**invokeTarget.logicalId**  
Ressource d'API.

**path**  
Chemin d'API demandé par la configuration de lancement (par exemple, `"path": "/hello"`).  
Doit être un chemin d'API valide résolu à partir de `template.yaml` spécifié par `invokeTarget.templatePath`.

**httpMethod**  
Utilisez l'un des verbes suivants : « delete », « get », « head », « options », « patch », « post » et « put ».

**payload**  
Charge utile JSON (corps HTTP) à envoyer dans la requête, avec la même structure et les mêmes règles que le champ lambda.payload.  
`payload.path` pointe vers un fichier contenant la charge utile JSON.  
`payload.json` spécifie une charge utile JSON en ligne.

**headers**  
Carte facultative de paires nom-valeur. Utilisez-le pour spécifier les en-têtes HTTP à inclure dans la requête.  

```
"headers": {
     "accept-encoding": "deflate, gzip;q=1.0, *;q=0.5",
     "accept-language": "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5",
     "cookie": "name=value; name2=value2; name3=value3",
     "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
}
```

**querystring**  
(Facultatif) Utilisez cette chaîne pour définir la valeur `querystring` de la requête (par exemple, `"querystring": "abc=def&ghi=jkl"`).

**aws**  
Comment les informations de AWS connexion sont fournies. Pour plus d'informations, consultez le tableau des propriétés de **connexion AWS (`aws`)** dans [Options de configuration pour le débogage d'applications sans serveur](sam-debug-config-ref.md).

**sam**  
Comment la AWS SAM CLI crée l'application. Pour plus d'informations, consultez les propriétés **AWS SAM CLI (« `sam` »)** dans [Options de configuration pour le débogage d'applications sans serveur](sam-debug-config-ref.md).

## Synchronisation d'une application sans serveur
<a name="deploy-serverless-app"></a>

Cet exemple montre comment synchroniser l'application sans serveur créée dans la rubrique précédente ([Création d'une application sans serveur](#sam-create)) AWS avec l'utilisation du AWS Toolkit for Visual Studio Code.

### Conditions préalables
<a name="deploy-sam-prereq"></a>
+ Veillez à choisir un nom de compartiment Amazon S3 unique au niveau mondial.
+ Assurez-vous que les informations d'identification que vous avez configurées incluent l' read/write accès approprié aux services suivants : Amazon S3 CloudFormation, AWS Lambda,, et Amazon API Gateway.
+ Pour les applications ayant le type de déploiement `Image`, assurez-vous que vous disposez à la fois d'un nom de compartiment Amazon S3 unique au niveau mondial et d'un URI de référentiel Amazon ECR à utiliser pour le déploiement.

### Synchronisation d'une application sans serveur
<a name="deploy-sam-proc"></a>

1. Dans la fenêtre de l'**AWS explorateur**, ouvrez le menu contextuel (clic droit) du nœud **Lambda** et sélectionnez **Sync SAM Application**.

1. Choisissez le Région AWS vers lequel déployer. 

1. Choisissez le fichier `template.yaml` à utiliser pour le déploiement.

1. Saisissez le nom d'un compartiment Amazon S3 que ce déploiement peut utiliser. Le compartiment doit se trouver dans la région dans laquelle vous effectuez le déploiement.
**Avertissement**  
Le nom de compartiment S3 doit être unique parmi tous les noms de compartiment existants dans Amazon S3. Ajoutez un identifiant unique au nom donné dans l'exemple suivant ou choisissez un autre nom.

1. Si votre application sans serveur inclut une fonction avec le type de package`Image`, saisissez le nom d'un référentiel Amazon ECR que ce déploiement peut utiliser. Le compartiment doit se trouver dans la région dans laquelle vous effectuez le déploiement.

1. Saisissez un nom pour la pile déployée : soit un nouveau nom de pile, soit un nom de pile existant.

1. Vérifiez le succès du déploiement dans l'onglet **Boîte à outils AWS ** de la **console**.

   Si une erreur se produit, un message contextuel apparaît dans la partie inférieure droite.

   Dans ce cas, vérifiez le texte dans l'onglet **Boîte à outils AWS ** pour plus de détails. Voici un exemple de détails d'erreur.

   ```
   Error with child process: Unable to upload artifact HelloWorldFunction referenced by CodeUri parameter of HelloWorldFunction resource.
   S3 Bucket does not exist. Execute the command to create a new bucket
   aws s3 mb s3://pbart-my-sam-app-bucket
   An error occurred while deploying a SAM Application. Check the logs for more information by running the "View AWS Toolkit Logs" command from the Command Palette.
   ```

   Dans cet exemple, l'erreur s'est produite, car le compartiment Amazon S3 n'existait pas.

Une fois le déploiement terminé, votre application figure dans **AWS Explorer**. Consultez [Appel de fonctions Lambda distantes](lambda-toolkit.md#remote-lambda) pour savoir comment appeler la fonction Lambda qui a été créée dans le cadre de l'application.

## Suppression d'une application sans serveur depuis le cloud AWS
<a name="delete-serverless-app"></a>

La suppression d'une application sans serveur implique la suppression de la CloudFormation pile que vous avez précédemment déployée dans le AWS cloud. Notez que cette procédure ne supprime pas votre répertoire d'application de votre hôte local.

1. Ouvrez **AWS Explorer**.

1. Dans**AWS Explorer**, développez la région contenant l'application déployée à supprimer, puis développez **CloudFormation**.

1. Ouvrez le menu contextuel (clic droit) pour le nom de la CloudFormation pile correspondant à l'application sans serveur que vous souhaitez supprimer. Choisissez ensuite **Delete CloudFormation Stack**.

1. Pour confirmer la suppression de la pile sélectionnée, choisissez **Supprimer**.

Si la suppression de la pile réussit, le AWS Toolkit supprime le nom de la pile de la CloudFormation liste dans **AWS Explorer**.

# Activer les lentilles de code du AWS Toolkit
<a name="enable-code-lenses"></a>

Cette étape montre comment activer les lentilles de code du AWS Toolkit.

1. Dans la barre de menus, choisissez **AWS Cloud9**, puis **Préférences**.

1. Dans la page **Préférences**, dans la barre latérale, choisissez **AWS Toolkit**.

1. Pour activer les lentilles de code, choisissez **Activer les lentilles de code**.

# Options de configuration pour le débogage d'applications sans serveur
<a name="sam-debug-config-ref"></a>

Avec les actions en ligne, vous pouvez facilement rechercher et définir des propriétés pour appeler les fonctions Lambda directement ou avec le modèle SAM. Vous pouvez également définir des propriétés pour `"lambda"` (comment la fonction s'exécute), `"sam"` (comment la AWS SAM CLI crée l'application) et `"aws"` (comment les informations de AWS connexion sont fournies). 


**AWS SAM : appel direct du gestionnaire Lambda//Invocation Lambda basée sur un modèle**  

| Propriété | Description | 
| --- | --- | 
|  `type`  |  Spécifie l'extension qui gère la configuration de lancement. Configurez toujours `aws-sam` sur pour utiliser la AWS SAM CLI pour créer et déboguer localement.  | 
|  `name`  |  Spécifie un nom convivial de lecteur qui doit apparaître dans la liste **Configuration du lancement de débogage**.  | 
| `request` |  Spécifie le type de configuration à effectuer en fonction de l'extension désignée (`aws-sam`). Toujours défini sur `direct-invoke` pour démarrer la fonction Lambda.  | 
|  `invokeTarget`  |  Spécifie le point d'entrée pour l'appel de la ressource. Pour appeler directement la fonction Lambda, définissez des valeurs pour les champs `invokeTarget` :  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/cloud9/latest/user-guide/sam-debug-config-ref.html) Pour appeler les ressources Lambda avec le modèle SAM, définissez des valeurs pour les champs `invokeTarget` : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/cloud9/latest/user-guide/sam-debug-config-ref.html)  | 


**Propriétés Lambda (`"lambda"`)**  

|  Propriété | Description | 
| --- | --- | 
|  `environmentVariables`  |  Envoyez les paramètres opérationnels à votre fonction. Par exemple, si vous écrivez dans un compartiment Amazon S3, définissez le nom du compartiment comme variable d'environnement. Ne codez pas en dur le nom du compartiment dans lequel vous écrivez.  | 
| `payload` |  Fournit deux options pour la charge utile d'événement que vous fournissez à votre fonction Lambda en entrée. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/cloud9/latest/user-guide/sam-debug-config-ref.html)  | 
|  `memoryMB`  |  Spécifie les mégaoctets de mémoire fournis pour l'exécution d'une fonction Lambda appelée.  | 
| `runtime` |  Spécifie l'environnement d'exécution utilisé pour la fonction Lambda. Pour plus d'informations, consultez [Environnement d'exécution AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).  | 
|  `timeoutSec`  |  Définit le temps alloué en secondes, avant l'expiration de la séance de débogage.  | 

L'extension AWS Toolkit utilise la AWS SAM CLI pour créer et déboguer des applications sans serveur localement. Vous pouvez configurer le comportement des commandes AWS SAM CLI à l'aide des propriétés de `"sam"` configuration du `launch.json` fichier.


**AWS SAM Propriétés de la CLI (`"sam"`)**  

| Propriété |  Description  |  Valeur par défaut  | 
| --- | --- | --- | 
|  `buildArguments`  | Configure la façon dont la commande `sam build` génère le code source Lambda. Pour afficher les options de génération, consultez [Fénération sam](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-build.html) dans le *guide du développeur AWS Serverless Application Model *. |  Chaîne vide  | 
|  `containerBuild`  |  Indique s'il faut créer votre fonction dans un conteneur AWS Lambda similaire à Docker.   |  `false`  | 
|  `dockerNetwork`  |  Spécifie le nom ou l'ID d'un réseau Docker existant auquel les conteneurs Docker Lambda doivent se connecter, avec le réseau de pont par défaut. Si vous ne définissez rien, les conteneurs Lambda se connectent uniquement au réseau de pont Docker par défaut.   |  Chaîne vide  | 
|  `localArguments`  |  Arguments d'appel local supplémentaires.  |  Chaîne vide  | 
|  `skipNewImageCheck`  |  Indique si la commande doit ignorer l'extraction de la dernière image Docker pour l'exécution de Lambda.   |  `false`  | 
|  `template`  |  Personnalise votre modèle SAM à l'aide de paramètres pour y entrer des valeurs client. Pour plus d'informations, consultez [Paramètres](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) dans le *Guide de l'utilisateur AWS CloudFormation *.  |  `"parameters":{}`  | 


**AWS propriétés de connexion (`"aws"`)**  

| Propriété | Description | Valeur par défaut | 
| --- | --- | --- | 
| `credentials` |  Sélectionne un profil spécifique (par exemple,`profile:default`) dans votre fichier d'informations d'identification pour obtenir des AWS informations d'identification.   | Les AWS informations d'identification fournies par votre fichier de AWS configuration partagé ou votre fichier AWS d'informations d'identification partagé existant. | 
| `Region` |  Définit la AWS région du service (par exemple, us-east-1).  |  AWS Région par défaut associée au profil d'identification actif.  | 